在GitHub上,每个文件夹页面都有这个很好的功能,它列出了文件名以及上次提交到该文件的时间。这类似于ls -l
命令。
有没有办法从命令行模仿这种行为?像
这样的东西git ls-files -l
基于sjas answer这对我有用
ls | while read aa
do
git log -1 --format="%ai $aa" "$aa"
done
答案 0 :(得分:3)
$ for a in $(ls); do git log --pretty=format:"%h%x09%an%x09%ad%x09$a" -1 -- "$a"; done
e76b sjas Tue Jul 24 21:55:20 2012 +0200 bashscripts/
68af sjas Wed Jul 25 13:49:26 2012 +0200 links
83c9 sjas Tue Jul 24 15:21:09 2012 +0200 rndm/
aedf sjas Tue Jul 24 15:14:12 2012 +0200 temp/
a643 sjas Tue Jul 24 21:48:19 2012 +0200 tips/
f71d sjas Tue Jul 24 19:26:20 2012 +0200 todo
取自https://stackoverflow.com/a/469238/805284
如果这看起来很奇怪:
在我的core.abbrev=4
中,我的SHA1仅通过.gitconfig
缩写为4个数字。
但也许你可以在这里使用它:
$ for a in $(ls); do git log --pretty=format:"%h%x09$a%x09%s" -1 -- "$a"; done
e76b bashscripts/ added pushd/popd/dirs shortcuts!!!
68af links fastcommit
83c9 rndm/ further cleanup
aedf temp/ tempcommit
a643 tips/ added disk usage script and pushd/popd annotation
f71d todo fastcommit