Do earth's magnetic field has always run from north pole to south pole?

It is not exactly north to south; the magnetic poles don't exactly match the geographic poles (which are defined by rotation), and they change over time.