给定两个(或更多)提交,我想找到加入它们的最旧的 merge 。类似于 git merge-base
的对立面(找到最年轻的共同祖先)。请注意,我正在寻找的提交将是开始提交的较年轻的后代。
换句话说:我想调查 merge 两个给定提交的 merge 提交(其中发生了对同一文件的更改)。
最佳答案
oldest-merge() {
( for c; do git log --all --merges --ancestry-path ^$c --pretty='%aI %h %s'; done ) \
| sort | uniq -c | awk "\$1 == $# {print;exit}"
}
oldest-merge `git rev-list --all --grep=BUG-27182` # e.g.
最后的 awk 接受出现在所有 merge 祖先列表中的第一个提交。
关于git - 如何在git中找到两个提交的最老的共同后代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649957/