如何列出按修改时间排序的文件?
我要的是git修改时间,不是系统修改时间。例如,如果我有一个(提交的)文件 README
,那么
touch README
将更改系统修改时间...但 git status 将保持不变。
如果我尝试
git ls-files -z | xargs -0 ls -t
这将按系统修改时间排序。
git ls-files
是否有任何选项可以列出按 git 修改时间排序的文件?
最佳答案
Is there any option to
git ls-files
that would list files sorted by their git modification time?
我不这么认为。一种可能的方法是遍历文件,使用 git log
获取时间戳,并对输出进行排序
。
以下内容可能对您有用:
while read file; do echo $(git log --pretty=format:%ad -n 1 --date=raw -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort -k1,1n
关于git ls-files 按修改时间排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19362345/