gpt4 book ai didi

git - merge 提交的 git revert 中 -m2 的有效用例是什么?

转载 作者:太空狗 更新时间:2023-10-29 14:18:05 26 4
gpt4 key购买 nike

通常情况下,如果我 fubar merge 到主线分支并推送它,转到命令是:

$ git revert -m1 <merge commit SHA1>

但是,我知道 revert 也可以与 -m2 一起使用。但是,这对我来说没有意义。如果还原发生在第一个父级上,我无法想象这对主线分支有什么影响。这是否基本上使第一个父级现在看起来像第二个父级,减去 merge 提交本身所做的任何更改?这实际上对树做了什么?这种涉及第二个父级的还原是否有一组有效的用例?

第二个父级将始终是 merge 到的功能/主题分支,所以我无法想象您想要将主线恢复到该状态。

最佳答案

最常见的用例是有人搞砸了 merge ,通常是在 git pull 上。当您执行需要 merge 的 pull 时,您的本地 提交是第一个父项,远程 提交是第二个。假设开发人员有一段时间没有 pull ,那么他的本地分支在 origin 之后有 20 次提交。开发人员进行一次提交, pull ,以某种方式破坏 merge ,然后推送。如果我们用 -m1 恢复那个拙劣的 merge ,我们将丢失所有 20 个提交的更改,并且必须挑选所有这些。通过使用 -m2,我们只是丢失了他一次提交的更改,然后可以根据需要挑选它。

关于git - merge 提交的 git revert 中 -m2 的有效用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com