我有 2 個分支(具有共同祖先 X 的 A 和 B),每個分支上都有多個提交。我想知道兩個分支中已更改的檔案串列
A1 - A2 - A3 - ... - A
/
X
\
B1 - B2 - B3 - ... - B
因此,要僅顯示可以在這兩個串列中找到的檔案:
git diff X..A --name-only
git diff X..B --name-only
uj5u.com熱心網友回復:
除了評論中列出的兩種方法 ,考慮在有問題的三個提交上使用。的輸出已經排序,所以在這里運行良好。如果一個檔案存在于所有三個提交中,具有相同的哈希 ID(如果你想捕獲模式更改,還有模式),你想丟棄它;否則,您想將其包含在最終摘要中。git ls-tree -rls-treecomm
無論您選擇哪種方法,您都需要撰寫至少一點代碼:使用git merge-base(--all如果您想要對單個合并基礎進行穩健檢查)來查找 commit X,然后使用git diffor生成檔案串列git ls-tree -r并進行過濾.
uj5u.com熱心網友回復:
( git diff --name-only A...B; git diff --name-only B...A ) | sort | uniq -d
是您要查找的內容:自合并以來檔案已更改,已排序,僅列出重復項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414041.html
標籤:
