git: Your branch and 'origin/master' have diverged - how to throw away local commits?

I have the following message in git:

# Your branch and 'origin/master' have diverged,
# and have 3 and 8 different commits each, respectively.
#   (use "git pull" to merge the remote branch into yours)

I would like to throw away the 3 local commits, and pull the 8 remote commits at origin/master.

(Merging is going to be too difficult, I'd rather make the 3 local commits again once master is up to date.)

How can I do this?


Solution 1:

git fetch origin
git reset --hard origin/master

Solution 2:

To preserve your old commits on a temporary branch in case you need them:

git branch temp

Then switch to the new master

git fetch origin
git reset --hard origin/master