有没有办法让Git状态列表只显示发生更改的文件的目录?

时间:2014-02-15 07:15:52

标签: git directory

有没有办法让Git状态列表只显示发生更改的目录?

git status显示所有已修改的文件和新文件。有没有办法配置它只列出发生变化的目录?

在按目录组织模块的项目中,现在对哪些模块进行了更改非常有用。如果可以在目录级别和深度上完成它也很有用,因此您还可以检查某些子模块的哪些子目录已更改。

这看起来像需要通过其他一些unix文本实用程序传递git状态输出,但是知道git在这方面是否有一些选项会很好。

2 个答案:

答案 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似乎是一个很好的替代品。请注意,它不会找到未跟踪的文件。