所以我正在和其他人一起做一个项目,有很多个GitHub分叉在工作。有人刚刚解决了一个问题,我和他的叉子合并了,但后来我意识到我可以找到一个更好的解决方案。我想恢复我刚才所做的承诺。我试着用git revert HEAD
但它给了我一个错误:
fatal: Commit <SHA1> is a merge but no -m option was given.
那是什么意思?当我合并并提交时,我确实使用-m选项来表示“合并为<username>“
我在这里做错什么了?
发布于 2018-03-28 08:59:01
默认情况下git revert
拒绝还原合并提交,因为这实际上意味着含糊不清。我猜你的HEAD
实际上是合并提交。
如果要还原合并提交,则必须指定要考虑的合并的父节点为主主干,即要还原到什么。
通常,这将是家长的第一位,例如,如果在master
并做到了git merge unwanted
,然后决定恢复unwanted
。第一个家长是你的预合并。master
分支和第二个父级将是unwanted
。
在这种情况下,可以:
git revert -m 1 HEAD
https://stackoverflow.com/questions/-100007819
复制相似问题