如何 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=] }
'
我想要这样的 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=] }
'