我怎樣才能用一種或兩種擴展名(例如“.YAML”和“.JSON”)檢索更改檔案的所有提交?
uj5u.com熱心網友回復:
git log --no-merges --oneline --name-status -- :*.yaml :*.json
與--oneline和--name-status基本是這里秀色可餐。
原因--no-merges是,合并是合并歷史記錄中的所有更改,因此在該合并中更改的所有檔案都來自父項計數。但是由于您沒有限制回溯,您無論如何都會看到最初進行這些更改的提交(并且git log知道這一點,并且通常不會顯示合并提交的差異,因為這會變得重復并且越來越糟糕-比-隨著歷史變大變得無用)。
--first-parent而不是--no-merges使用選定的路徑告訴您哪些檔案僅通過(不再排除)合并相對于第一個父級進行了更改;不是向您顯示更改這些檔案的單個合并提交,而是向您顯示將這些更改帶入您已檢出的第一父級歷史記錄的合并。
git log和路徑都--first-parent沒有,也沒有--no-merges證明僅作為取證型別的查詢有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336981.html
