我可以用git做一个目录列表,显示最新的提交日期

时间:2015-03-23 09:42:01

标签: git

我正在寻找类似ls -l的内容,其中包含一个额外的列,显示每个文件的最新提交日期(可能还有缩短的哈希值和第一行日志消息)。

2 个答案:

答案 0 :(得分:3)

您可以这样做:

git ls-tree --name-only HEAD | xargs -I %% sh -c 'echo %% `git log -n 1 "--pretty=format:%C(green)%h (%cr) %C(cyan)%s%Creset" -- %%`'

这将打印出文件名,后跟最后一次提交哈希和日期以及提交的主题。

我相信你可以让这个更好,但我的bash知识有点受限。我的漂亮PowerShell解决方案如下所示:

git ls-tree --name-only HEAD | % { Write-Host ("{0,-30} {1}" -f $_, (git log -n 1 "--pretty=format:%C(green)%h (%cr) %C(blue)%s%Creset" -- $_)) }

答案 1 :(得分:1)

这样的东西可以工作(对于非跟踪文件有待改进)

for i in *; do echo -n "$i - "; git --no-pager log -1 --format='%ad' $i; done

你应该在bash中运行它。