git revert <hash> not allowed due to a merge but no -m option was given
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:
commit d02ee0f2179def10277f30c71c5d6f59ded3c595
Merge: dd3a24c 2462a52
and run:
git revert <hash> -m 1
where 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.
user3544484
Updated on July 09, 2022Comments
-
user3544484 almost 2 years
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 failedAs a new git user, please can you explain what is happening & what I have to do to resolve this.
I want to revert back to this certain commit (
c14609d74eec3ccebafc73fa875ec58445471765
) that I see when runninggit log
. -
Tola Odejayi over 6 yearsmanojlds, what was the full
git log
command that you ran to see the parent? -
Matthew James Briggs almost 6 yearsHow do you determine which parent is which? i.e. How do I know to enter the number
1
v.s.2
or something else? -
Hasan Akhtar over 5 yearsI originally merged a dev branch into
master
. When reverting the commit I used1
as the value of-m
which did the trick -
Michael Wegter about 2 years@MatthewJamesBriggs I found this helpful answer to "How do you determine which parent is which?" https://blog.experteer.engineering/what-are-parents-on-git-merge-commits.html