有没有办法让git给我输出像svn ls -v一样.基本上是每个文件的列表以及最后编辑该文件的人?像这样:
filea.txt Someone Else fileb.txt Another Person
也许甚至用SHA来识别发生变化的提交?
在git中提问并不是一个非常自然的问题,但是你可以用这样的东西来实现你想要的东西.
for a in $(ls); do git log --pretty=format:"%h%x09%an%x09%ad%x09$a" -1 -- "$a"; done
这将遍历当前目录中的每个文件,并在其git log
上执行以查找影响它的最后一次提交.
它效率不高,因为它会搜索每个文件的git历史记录,并且不会重复使用以前搜索的结果.然而,它是一个单行.
你想玩git日志及其漂亮的格式.这是一个没有完全解决你想要的问题的例子,但是应该让你顺利进行:
git log --pretty=format:"%h: %s -- %an"
打印:
... 58a2e46: Added readme for github. -- DylanFM ...