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