我听说使用--no-ff标记的git merge可以保留完整的历史 ,这样更容易拉出特定的merge。但是我还没有看到它解释过如何撤销使用--no-ff标记的merge。而且,我看不出它如何比快速前进的merge更容易取消merge。有人能对此提供一些帮助吗?或者给我一些好的信息?谢谢。
vhmi4jdf1#
你可以恢复所有通过快进合并(--no-ff)所做的提交:
git revert SHA_OF_MERGE_COMMIT0944694980cc3d -m 1
这里最重要的是一个键**-m1**-m父数--主线父编号通常,您无法还原合并,因为您不知道合并的哪一侧应被视为主线。此选项指定主线的父编号(从1开始),并允许revert相对于指定的父反转更改。恢复一个合并提交声明你永远不希望合并带来的树更改。因此,以后的合并只会带来不是以前恢复的合并的祖先的提交所引入的树更改。这可能是也可能不是你想要的。请参见revert-a-faulty-merge How-To for more details。
1条答案
按热度按时间vhmi4jdf1#
你可以恢复所有通过快进合并(--no-ff)所做的提交:
这里最重要的是一个键**-m1**
-m父数
--主线父编号
通常,您无法还原合并,因为您不知道合并的哪一侧应被视为主线。此选项指定主线的父编号(从1开始),并允许revert相对于指定的父反转更改。
恢复一个合并提交声明你永远不希望合并带来的树更改。因此,以后的合并只会带来不是以前恢复的合并的祖先的提交所引入的树更改。这可能是也可能不是你想要的。
请参见revert-a-faulty-merge How-To for more details。