簡體   English   中英

如何在Git存儲庫中找到所有具有多個父項的提交?

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

git rev-list手冊頁提到:

--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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM