如何 git 在一行中记录日期时间和文件名

how to git log with date-time and file names in one line

我想要这样的 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 命令中得到这样的东西?

我想你要找的是

git diff --name-only

这将使您自上次提交后更改文件名

你可以做到

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

在两次提交之间获取更改的文件

这就是 awk 的用途。

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