正如您所提到的,补丁 git submodule: ignore dirty submodules for summary and status正在制作中。
在Git 1.7.2-rc2版本中也宣布:
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
“ git status
”学会了“ --ignore-submodules
”选项。
意义:
git config --global diff.ignoreSubmodules dirty
将此作为一种选择并不完全是目前选择的方法:
在本系列之后,我计划添加一个配置选项 ' ignore
' .gitmodules
,可以将每个子模块设置为“all”、“dirty”、“untracked”或“none”(默认值)。
" git diff
" 和 " git status
" 将为每个子模块使用该配置值。
使用“ --ignore-submodule
”覆盖此默认值(并且将在那里添加新参数“none”以覆盖配置设置)。
并且为了避免git submdule sync
每次该选项更改时都必须执行“”,我想先搜索它.git/config
。
如果在此处找不到,则将从 中获取.gitmodules
(如果存在)。
因此用户可以覆盖该设置,但如果他们不这样做,上游可以轻松更改它(例如,当子模块.gitignore
已更新以使“ ignore=untracked
”不再需要时,可以将其删除)。如果分支之间的“ ”条目不同,
切换分支也会立即产生影响。ignore
.gitmodules
Git 2.13(2017 年第二季度)提供了另一种使 git status(或任何 git 命令)忽略特定子模块的方法:
git config submodule.<name>.active false
在“忽略 git 子模块的新提交”中查看更多信息。