2017-04-14 72 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被删除。

相关问题