2017-04-14 197 views
0

我想要查看在git log的每次提交中更改的文件列表。 Another question被問及如何查看修改過的文件的單個提交,並得到了following response如何查看日誌中每次提交的更改文件?

$ git diff-tree --no-commit-id --name-only -r bd61ad98 
index.html 
javascript/application.js 
javascript/ie6.js 

我想知道的是如何將其應用到git log。也就是說,我應該運行什麼命令來獲得類似以下輸出的內容?

commit 78b3ba12002f9cab5cbb57fac87d8c703702a196 
Author: WD40 <[email protected]> 
Date: Fri Apr 14 09:59:57 2017 -0500 

    Change more things 

    about.html 
    javascript/application.js 
    javascript/ie6.js 

commit 0f98b1f7eda33a4e9cfaab09506aa8094044085f 
Author: WD40 <[email protected]> 
Date: Fri Apr 14 09:49:03 2017 -0500 

    Change some things 

    index.html 
    javascript/application.js 
    javascript/ie6.js 

此外,如果可能,我想知道如何做同樣的事情,但也顯示添加和刪除的文件。

我看過git log --format選項,但找不到類似我想要的任何東西。我有一種感覺,這是不可能的與git日誌,並可能需要從多個git diff-tree s的輸出串起來,但我不知道如何去沒有腳本(這可能是唯一的方法來完成我想要的,但我想我會繼續前進,因爲這將是我的最後手段)。

回答

2

git-log有許多顯示更改的選項。 They're found in the docs as Common Diff Options,常見是因爲它們被許多可以顯示提交的命令共享,如git-diff-tree

--name-only是你想要的。還有......

  • -p顯示完整補丁
  • --stat顯示文件的更改和變化
  • --name-status的數量,節目的名字,以及它如何改變(修改,刪除。 ..)

還有很多,更多!

所以,舉例來說,git log --name-status可能顯示是這樣的:

commit 78b3ba12002f9cab5cbb57fac87d8c703702a196 
Author: WD40 <[email protected]> 
Date: Fri Apr 14 09:59:57 2017 -0500 

    Change more things 

A  about.html 
M  javascript/application.js 
D  javascript/ie6.js 

commit 0f98b1f7eda33a4e9cfaab09506aa8094044085f 
Author: WD40 <[email protected]> 
Date: Fri Apr 14 09:49:03 2017 -0500 

    Change some things 

A  index.html 
A  javascript/application.js 
A  javascript/ie6.js 

其中添加AM被修改,並且D被刪除。

相關問題