查找包含特定提交的合并提交

251
想象以下的历史:
       c---e---g--- feature
      /         \
-a---b---d---f---h--- master

如何找到提交“c”何时合并到主分支(即找到合并提交“h”)?
14个回答

1
这是在主分支中查找提交的最佳方法:
[alias]
    find-merge = !"f() { git rev-list $1..master --ancestry-path --merges --reverse | head -1; }; f"

或者简单地使用 find-merge = !"f() { git rev-list $1..master --ancestry-path --merges | tail -1; }; f" - Iulian Onofrei

0

0

一个图形化的解决方案是在 gitk 中找到它(使用“SHA1 ID”框)并沿着提交线路追溯到合并提交。


0
你可以尝试这样做。思路是遍历所有合并提交,看看提交“c”是否可以从其中一个到达:
$ git log --merges --format='%h' master | while read mergecommit; do
  if git log --format='%h' $mergecommit|grep -q $c; then
    echo $mergecommit;
    break
  fi
done

这与以下命令相同:git rev-list <SHA-1_for_c>..master --ancestry-path --merges - Eugen Konkov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接