我是一个大型的git仓库,我想找到长时间没有修改过的文件列表,并按日期排序,我尝试了以下命令:
git log --pretty=format: --summary --before="<date>"
它给出了在date
之前修改的文件列表,但我想知道所有文件按最后修改日期降序排序的列表(最旧的文件在顶部)。此外,该列表应仅包含当前存在于存储库中的文件,我不关心已删除的文件。
有人可以建议正确的命令吗?
我是一个大型的git仓库,我想找到长时间没有修改过的文件列表,并按日期排序,我尝试了以下命令:
git log --pretty=format: --summary --before="<date>"
它给出了在date
之前修改的文件列表,但我想知道所有文件按最后修改日期降序排序的列表(最旧的文件在顶部)。此外,该列表应仅包含当前存在于存储库中的文件,我不关心已删除的文件。
有人可以建议正确的命令吗?
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
这对我很有帮助。
while read file; do echo $(git log --pretty=format:%ai -n 1 --date=raw -w --follow -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort | head -n 20
- Aidan Feldman不要认为有一个 git
命令可以做到这一点,但尝试使用 tree
命令和 sort
。 它看起来有点丑陋,但我相信它非常接近你想要的。
tree -ifFCD --timefmt '%Y%m%d %H%M%S' | sort -k1 -k2
-D
打印文件最后修改时间的日期,或者如果使用了-c
,则打印文件最后状态更改的时间。
git
提交一个功能请求,也许将来会有这个功能。 - Ask and Learn