我正在寻找一种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
这样的事情是否存在?
答案 0 :(得分:1)
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
这使得列表成为活动目录中的所有文件和文件夹。如果您想以递归方式执行此操作,则只需执行git ls-tree -r master --name-only
。
然后遍历列表中的每个文件,并打印该文件的最后一次提交的日志。
答案 1 :(得分:1)
似乎没有任何现成的git ls
所以我继续自己做了一个: