Git:列出最近更改最少的所有文件

Git:列出最近更改最少的所有文件,git,git-log,Git,Git Log,我有一个很大的git存储库,我想查找长期未修改的文件列表,按日期排序,我尝试了以下命令: git log --pretty=format: --summary --before="<date>" git log--pretty=format:--summary--before=“” 它提供了日期之前修改过的文件列表,但我想知道所有文件都是按上次修改日期降序排列的(最旧的文件将位于顶部)。此外,列表中应该只有存储库中当前存在的文件,我不关心已经删除的文件 有人能建议正确的命令吗

我有一个很大的git存储库,我想查找长期未修改的文件列表,按日期排序,我尝试了以下命令:

git log --pretty=format: --summary --before="<date>" 
git log--pretty=format:--summary--before=“”
它提供了
日期之前修改过的文件列表,但我想知道所有文件都是按上次修改日期降序排列的(最旧的文件将位于顶部)。此外,列表中应该只有存储库中当前存在的文件,我不关心已经删除的文件


有人能建议正确的命令吗

不要认为有
git
命令可以做到这一点,但请尝试
tree
命令和
sort
。 它看起来有点难看,但我相信它非常接近你想要的

tree -ifFCD --timefmt '%Y%m%d %H%M%S' | sort -k1 -k2
-D
打印上次修改时间的日期,或者如果使用了
-c
, 所列文件的上次状态更改时间


根据在评论中发布@Fred的链接,您可以尝试以下方法:

while read file; do echo $(git log --pretty=format:%ai -n 1 --date=raw -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort -r

读取文件时
;do echo$(git log--pretty=格式:%ai-n 1--date=raw--$file)$file;done<我不认为git log会自己做这件事。。。您可能需要通过管道将结果传输到类似于排序的东西上-这个答案有用吗@Fred谢谢,将检查此suggestionGood命令,谢谢,但我的存储库刚刚克隆,所有文件的修改日期几乎相同。我尝试了-D和-c。我将向
git
提交一个功能请求,也许这将在将来可用。我对此的调整,列出最近更新最少的20个文件,忽略空白更改和重命名:
读取文件;DoEcho$(git log--pretty=格式:%ai-n1--date=raw-w--follow--$file)$file;完成<