因此,我正在与其他人一起开发一个项目,并且正在处理多个github分支。有人刚刚解决了一个问题,我与他的 fork 合并了,但是后来我意识到我可以找到更好的解决方案。我想还原刚才所做的提交。我尝试用git revert HEAD做到这一点,但它给了我这个错误:

致命:提交是合并,但未提供-m选项。

那是什么意思?合并并提交后,确实使用了-m选项来表示“与合并”。

我在这里做错了什么?

最佳答案

默认情况下,git revert拒绝还原合并提交,因为这实际上是模棱两可的。我认为您的HEAD实际上是一个合并提交。

如果要还原合并提交,则必须指定要将合并的哪个父级视为主要干线,即要还原到的父级。

通常,这将是第一父级,例如,如果您使用master并执行了git merge unwanted,然后决定还原unwanted的合并。第一个父级是您的合并前master分支,第二个父级是unwanted的提示。

在这种情况下,您可以执行以下操作:

git revert -m 1 HEAD

09-04 04:30