在Progit它说:
如果你想让 Git 更智能地尝试解决冲突,你可以传递一个 -3 选项给它,这使得 Git 尝试三向合并。默认情况下,此选项不启用,因为如果补丁所基于的提交不在您的存储库中,则该选项不起作用。如果你确实有那个提交——如果补丁是基于公共提交的——那么 -3 选项通常更聪明地应用一个冲突的补丁:
和
这种方法的另一个优点是您还可以获得提交的历史记录。尽管您可能有合法的合并问题,但您知道他们的工作在您的历史中的哪个位置;正确的三向合并是默认设置,而不是必须提供 -3 并希望补丁是从您有权访问的公共提交中生成的。
那么这是否意味着我可以将我的补丁基于我的私人提交?我想知道它有什么意义,因为它会在合并时导致明显的冲突,因为提交补丁中的文件是基于贡献者方的,与我现在的文件看起来不同,那么我该如何合并它们呢?这些东西是从项目维护者的角度在 Progit 中描述的,因此贡献者不会将他的补丁基于某个开发秘密分支。