我正在尝试确定将 master 合并到特定发布分支的频率。所以,我想知道所有合并基地的历史。有没有办法列出两个分支之间发生的所有合并?
问问题
40 次
1 回答
1
您可以告诉 git log 为每个显示的提交输出父提交的提交哈希:
git log --format="%p" --first-parent --merges release
# to get only second parents, just use awk or cut :
git log --format="%p" --first-parent --merges release | awk '{ print $2 }'
您现在可以一一检查每个提交是否是分支的一部分master
,也许使用:
git rev-list --first-parent master | grep $sha
(“一个分支的第一任父母”是最接近该分支历史的东西)
使用一个衬垫:
git rev-list --format="%P" --first-parent --merges release | awk '{ print $2 }' |\
grep -F -f <(git rev-list --first-parent master)
或在您的评论中调整您对“uniq”的使用:
(git rev-list --format="%P" --first-parent --merges release | awk '{ print $2 }';\
git rev-list --first-parent master) | sort | uniq -d
于 2021-12-22T14:06:27.420 回答