有没有办法让Git状态列表只显示发生更改的目录?
git status
显示所有已修改的文件和新文件。有没有办法配置它只列出发生变化的目录?
在按目录组织模块的项目中,现在对哪些模块进行了更改非常有用。如果可以在目录级别和深度上完成它也很有用,因此您还可以检查某些子模块的哪些子目录已更改。
这看起来像需要通过其他一些unix文本实用程序传递git状态输出,但是知道git在这方面是否有一些选项会很好。
答案 0 :(得分:1)
尝试使用短格式-s
并过滤“M”修改标记。
根据您的潜在需求("XY problem"),您也可以使用git diff --diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]
选项。
答案 1 :(得分:0)
我相信您可能正在寻找--dirstat
选项:
$ git diff --format=format: --dirstat=0
35.7% dira/
64.2% dirb/
不幸的是,git status
不支持此功能,但git diff --dirstat
似乎是一个很好的替代品。请注意,它不会找到未跟踪的文件。