I am on branch mybranch1
. mybranch2
is forked from mybranch1
and changes were made in mybranch2
.
Then, while on mybranch1
, I have done git merge --no-commit mybranch2
It shows there were conflicts while merging.
Now I want do discard everything (the merge
command) so that mybranch1
is back to what it was before.
I have no idea how do I go about this.
Latest Git:
This attempts to reset your working copy to whatever state it was in before the merge. That means that it should restore any uncommitted changes from before the merge, although it cannot always do so reliably. Generally you shouldn't merge with uncommitted changes anyway.
Prior to version 1.7.4:
This is older syntax but does the same as the above.
Prior to version 1.6.2:
which removes all uncommitted changes, including the uncommitted merge. Sometimes this behaviour is useful even in newer versions of Git that support the above commands.
Actually, it is worth noticing that
git merge --abort
is only equivalent togit reset --merge
given thatMERGE_HEAD
is present. This can be read in the git help for merge command.After a failed merge, when there is no
MERGE_HEAD
, the failed merge can be undone withgit reset --merge
but not necessarily withgit merge --abort
, so they are not only old and new syntax for the same thing.Personally I find
git reset --merge
much more useful in everyday work.Assuming you are using the latest git,