因此,我正在与其他人一起开发一个项目,并且正在处理多个github分支。有人刚刚解决了一个问题,我与他的 fork 合并了,但是后来我意识到我可以找到更好的解决方案。我想还原刚才所做的提交。我尝试用git revert HEAD
做到这一点,但它给了我这个错误:
致命:提交是合并,但未提供-m选项。
那是什么意思?合并并提交后,确实使用了-m选项来表示“与合并”。
我在这里做错了什么?
最佳答案
默认情况下,git revert
拒绝还原合并提交,因为这实际上是模棱两可的。我认为您的HEAD
实际上是一个合并提交。
如果要还原合并提交,则必须指定要将合并的哪个父级视为主要干线,即要还原到的父级。
通常,这将是第一父级,例如,如果您使用master
并执行了git merge unwanted
,然后决定还原unwanted
的合并。第一个父级是您的合并前master
分支,第二个父级是unwanted
的提示。
在这种情况下,您可以执行以下操作:
git revert -m 1 HEAD