如何在 git 中找到两个提交的最古老的共同后代?

Rob*_*mer 8 git git-merge git-rev-list

给定两个(或更多)提交,我想找到连接它们的最旧的合并。git merge-base与(找到最年轻的共同祖先)相反。请注意,查找的提交 I\xe2\x80\x99m 将是起始提交的较年轻的后代。

\n\n

换句话说:我想调查合并两个给定提交的合并提交(其中发生了对同一文件的更改)。

\n

use*_*755 0

如果 $a 和 $b 是两个提交哈希并且它们都包含在 master 中,那么说

git rev-list $a..master --ancestry-path >a
git rev-list $b..master --ancestry-path >b
Run Code Online (Sandbox Code Playgroud)

然后使用 diff 工具找到 a 和 b 的最后一个公共行。