Aborting a merge in git

url:http://stackoverflow.com/questions/101752/aborting-a-merge-in-git

I've done 'git pull', and received a merge conflict. I know that the other version of the file is good, and that mine is bad (all my changes should be abandoned). How do I do this?:

unmerged:   _widget.html.erb
You are in the middle of a conflicted merge.

Since your pull was unsuccessful then just HEAD is the last "valid" commit on your branch (not HEAD^):

git reset --hard HEAD

The other piece you want is to let their changes over-ride your changes.

Older versions of git allowed you to use the "theirs" merge strategy:

git pull --strategy=theirs remote_branch

But this has since been removed, as explained in this message by Junio Hamano (the Git maintainer). As noted in the link, instead you would do this:

git fetch origin
git reset --hard origin