git列出上次更改提交的文件和文件夹

git列出上次更改提交的文件和文件夹,git,Git,我正在寻找一种git ls——一种输出类似于github repo视图的命令——理想情况下输出如下: $ git ls uncommitted.txt folder/ abcd0123 Changed a file in a folder Sat Aug 13 00:01:06 2016 +0200 oldfile.txt abcd3210 Changed an old file Sat Aug 13 00:08:23 2016 +0200 是

我正在寻找一种
git ls
——一种输出类似于github repo视图的命令——理想情况下输出如下:

$ git ls
uncommitted.txt
folder/          abcd0123  Changed a file in a folder  Sat Aug 13 00:01:06 2016 +0200
oldfile.txt      abcd3210  Changed an old file         Sat Aug 13 00:08:23 2016 +0200
是否存在类似的内容?

git ls tree和git log: 这将生成一个列表,其中列出active directory中的所有文件和文件夹。如果您想递归地执行此操作,它们只需执行
git ls tree-r master--name only


然后遍历列表中的每个文件,并打印该文件上次提交的日志。

似乎没有任何现成的
git ls
,所以我自己做了一个:


这很接近,但我也想查看未受限制的文件-我自己编写了一个脚本,使用了类似的原理。请查看编辑,看看这是否适用于您。如果我错了,请原谅,但如果文件中有空间,这不会导致问题吗?是的,它会。如果可能的话,你不应该使用它们。使用@JV的答案,它做得很好。如果他不处理,你应该解决这个问题,并发送一个拉他的请求。
commited_files=$(git ls-tree master --name-only)
uncommited_files=$(git status --porcelain | grep "??" | sed -e 's/^?? //')
list="$commited_files $uncommited_files"
for file in $list; do
  echo $(printf "$file: "; git log --pretty=format:'%h %s %ad' -1 $file);
done