2015-10-01 24 views
1

我想有一个git的日志(或以任何其他方式),这样的输出,如何蠢货,一行数与日期,时间和文件名

2015-01-14 10:33:14 main.cpp 
2014-10-30 11:30:22 some.cpp 
2014-10-27 10:15:43 another.cpp 
2014-10-27 09:41:22 main.cpp 
2014-10-24 19:15:08 some.cpp 

基本上输出应包含日期,时间和文件改变了。如示例所示,一个条目应该在一行中。 我检查了漂亮的格式,但找不到输出文件名的方法。

那么,如何从git命令得到类似这样的东西?

+0

现在发布之前 - 我知道你看了这个http://git-scm.com/docs/git-log正确吗? – Nefariis

+0

@Nefarii,是的,我花了很多时间用不同的选项在那里:(我能够获得更改文件列表在一个实例和时间戳在另一个实例,但无法同时获得 – Morpheus

回答

1

这是awk的。

git log --pretty=%x0a%ci --name-only \ 
| awk ' 
    /^$/  { dateline=!dateline; next } 
    dateline { date=$0; next } 
    !seen[$0]++ { print date,$0 } 
' 
0

我想你正在寻找的是

git diff --name-only 

,将让您更改文件名,因为上次提交

你可以做

git diff --name-only <commit1> <commit2> 

获得两次提交之间已更改的文件

+1

号。这只会生成文件列表。我希望他们修改日期和时间。 – Morpheus

+0

yeh,对不起,实际上,[这个答案](http://stackoverflow.com/a/28068704/5398655)应该可以帮到你。 – Grisha

相关问题