簡體   English   中英

列出 git 中的提交所觸及的所有文件

[英]List all files touched by commits in git

如何列出兩次提交之間某處“觸及”的所有文件? 我正在尋找類似於git diff COMMIT1..COMMIT2 --name-only但包括稍后修改和恢復的文件的命令。

例如,假設我有一個包含一系列提交(線性歷史)的存儲庫:C0<-C1<-C2<-C3<-C4。 提交 C1 引入了一個新文件 F,然后提交 C3 將其從存儲庫中刪除。 我正在尋找一個命令,給定 C0 和 C4,它會告訴我在兩者之間的某個地方有一個文件 F。即使在 C0 和 C4 中沒有這樣的文件。 因此git diff根本不會提及文件 F。

git diff ref1 ref2只考慮給定的提交,是的,但是git log將找到缺少的步驟並列出每個步驟的文件, sort將匯總:

git log --pretty=format: --name-only COMMIT1..COMMIT2 | sort -u

嘗試git log查找缺少的步驟可能git log --pretty=format:"" --name-only commit1..commit2 | sort -u

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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