[英]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.