Git 还原合并提交时1和2的重要性

Git 还原合并提交时1和2的重要性,git,git-merge,git-revert,Git,Git Merge,Git Revert,我遇到了一种情况,需要在git中恢复一个合并提交。我使用了以下命令: git revert -m 1 [merge commit id] 现在git为上述命令提供了另一个选项,如下所示: git revert -m 2 [merge commit id] 我没有得到1和2之间的差异 使用的参考资料:git revert文档提供了如下语法 git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <

我遇到了一种情况,需要在git中恢复一个合并提交。我使用了以下命令:

git revert -m 1 [merge commit id]
现在git为上述命令提供了另一个选项,如下所示:

git revert -m 2 [merge commit id]
我没有得到1和2之间的差异


使用的参考资料:

git revert文档提供了如下语法

git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…​
将恢复为
e19b912404ffd3c153ccac3072dbf22396896d2a


git存储库只是一个提交树。合并提交只是具有两个(或更多)父级的提交

如果使用单亲还原提交,则只是在反转该提交引入的更改

但是,如果要恢复合并提交,则需要恢复合并到的分支中的所有更改。但是,没有关于哪个分支合并到哪个分支的真正概念-您只有提交的父级,
-m
告诉git您要还原到哪个父级(即撤消从另一个父级引入的更改)


请参阅此处的文档:

合并提交主要有两个父级,该数字表示要还原到父级
df1acf5f54426d30f12c6b4558c3dd922297aae3
e19b912404ffd3c153ccac3072dbf22396896d2a

git revert -m 2 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3