I am trying to revert to a certain ‘hash’ number in git, by using the ‘revert’ command.
I am using the following command:
git revert c14609d74eec3ccebafc73fa875ec58445471765
But, I am getting the following returned:
error: Commit c14609d74eec3ccebafc73fa875ec58445471765 is a merge but no -m option was given.
fatal: revert failed
What is happening & what should be done to resolve this?
I want to revert back to this certain commit (
c14609d74eec3ccebafc73fa875ec58445471765) that I see when running
You are trying to revert a merge commit, and git doesn’t know which parent to revert to. The
-m allows us to choose which parent to choose. See the merge commit and note down which parent you want to go to. The parent information can be seen in
git log, for example:
Merge: dd3a24c 2462a52
git revert <hash> -m 1
1 indicates parent number 1 (dd3a24c).
If you are trying to revert to that commit, do:
git reset --hard <hash>
Understand the difference between
git revert and
git reset from the docs and decide which one you want.
git revert is the safer option, but doesn’t really do what you want. It just reverts the changes of a (set of) commit.
git reset makes you move to a particular commit in history, and will rewrite your history.