git merge-base是否可交换?

Geo*_*rge 5 git

考虑

$ git merge-base <original-branch> <new-branch>
Run Code Online (Sandbox Code Playgroud)

问题:git merge-base可交换的吗?也就是说,上述命令是否产生与之相同的结果

$ git merge-base <new-branch> <original-branch>
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 4

如果只有一个合并基础,那么是的。
含义:git merge-base --all <original-branch> <new-branch>仅返回一次提交。

但是,正如git merge-base手册页中提到的:

当历史涉及交叉合并时,两次提交可能有多个最佳共同祖先。
例如,对于此拓扑:

---1---o---A
\ /
 X
/ \
---2---o---o---B
Run Code Online (Sandbox Code Playgroud)

1 和 2 都是A和的合并基B。两者都不比另一者更好(两者都是最好的合并基础)。当未给出
该选项时,未指定输出哪一个最好的--all