[英]How can I find all the commits that have more than one parent in a Git repository?
我正在研究开放源代码项目中的合并。
对于回购中的每个合并,我需要找到基础(最近的共同祖先),两个贡献者以及最终的合并提交。
我已经知道如何获取最近的公共祖先( git merge-base rev1 rev2
)和贡献者( git log --pretty=%P -n 1 <commit>
),但是我在确定提交内容时遇到了问题来自合并操作的结果。
如何在Git存储库中找到所有具有多个父项的提交?
这应该足够了(用于本地提交)
git rev-list --merges
--merges
仅打印合并提交 。 这与
--min-parents=2
完全相同。
这意味着rev-list具有一些有趣的过滤器:
--min-parents=<number>
--max-parents=<number>
仅显示至少(或最多)许多提交的提交。
尤其是:
--max-parents=1
与--no-merges
相同,--min-parents=2
与--merges
相同。--max-parents=0
给出了所有的根提交,并且--min-parents=3
所有章鱼合并 。
尝试:
git log --merges
使用适当的--pretty
来解析输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.