繁体   English   中英

如何列出git未跟踪的文件并按照修改时间排序?

[英]How to list files not tracked by git and sort them according to modification time?

我想列出不属于 git 存储库并且最近被修改的文件。 如果文件名中没有空格并且git status仅在未处理文件之前返回# ,那么我可以这样做:

ls -ltrhd `git status | awk 'NF==2 {print $2}'`

然而,使这个更通用(例如,如果文件名中有空格),那么它就变得复杂了。 有没有办法直接从git

有没有办法直接从 git 获得相同的 output?

没有。 您可以通过设置IFS来处理文件名中的空格,并且git status正在执行一些隐藏的递归,您可以使用find的深度截止:

(IFS=$'\n'; ls -ltrh $(git ls-files -o `find -maxdepth 1 ! -type d`))

谢谢@LeGEC。 该解决方案仍然需要ls ,但不依赖于awk

ls -ltrhd `git ls-files -o --directory --exclude-standard`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM