想象以下的历史:
如何找到提交“c”何时合并到主分支(即找到合并提交“h”)?
c---e---g--- feature
/ \
-a---b---d---f---h--- master
如何找到提交“c”何时合并到主分支(即找到合并提交“h”)?
c---e---g--- feature
/ \
-a---b---d---f---h--- master
[alias]
find-merge = !"f() { git rev-list $1..master --ancestry-path --merges --reverse | head -1; }; f"
我已经多次这样做了(感谢所有回答这个问题的人!),最终编写了一个脚本(使用Gauthier的方法),可以添加到我的一些git实用程序集合中。您可以在此处找到它:https://github.com/mwoehlke/git-utils/blob/master/bin/git-merge-point。
$ 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
find-merge = !"f() { git rev-list $1..master --ancestry-path --merges | tail -1; }; f"
。 - Iulian Onofrei