使用--no-ff撤消合并

时间:2015-02-12 21:12:39

标签: git merge undo

我听说使用--no-ff标志完成的 git merge 会保留完整的历史记录,从而更容易提取特定的合并。但是,我没有看到它解释过如何撤消用--no-ff进行的合并。另外,我看不出它如何比快进合并更容易取消合并。有人可以对此有所了解,或者指出一些关于此的好消息吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以还原快速转发合并(--no-ff)进行的所有提交:

git revert SHA_OF_MERGE_COMMIT0944694980cc3dfcf4c2f9a99c3aadbfa47811ee -m 1 

最重要的是钥匙 -m 1

-m父编号

-主线家长编号

通常,您无法还原合并,因为您不知道合并的哪一侧应被视为主线。此选项指定主线的父级编号(从1开始),并允许还原以相对于指定的父级撤消更改。

还原合并提交声明您将永远不希望合并带来的树更改。结果,以后的合并将仅引入由不是先前还原的合并的祖先的提交引入的树更改。这可能是您想要的,也可能不是。

请参见revert-a-faulty-merge How-To for more details