Come hai detto, il sottomodulo git della patch : ignora i sottomoduli sporchi per il riepilogo e lo stato è in preparazione.
Annunciato anche nella versione Git 1.7.2-rc2 :
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
Opzione " git status" appreso " --ignore-submodules".
Senso:
git config --global diff.ignoreSubmodules dirty
Considerare questa un'opzione non è esattamente l' approccio scelto per ora :
Dopo questa serie ho intenzione di aggiungere un'opzione di configurazione " ignore" .gitmodules, che può essere impostata per ogni sottomodulo su "all", "dirty", "untracked" o "none" (impostazione predefinita).
" git diff" e " git status" useranno quel valore di configurazione per ogni sottomodulo.
L'uso di " --ignore-submodule" sovrascrive questo valore predefinito (e il nuovo parametro "nessuno" verrà aggiunto lì per poter sovrascrivere le impostazioni di configurazione).
E per evitare di dover fare " git submdule sync" ogni volta che l'opzione cambia, vorrei cercarla .git/configprima.
Se non si trova lì, verrà preso da .gitmodules, se presente.
Quindi gli utenti possono sovrascrivere l'impostazione, ma se non lo fanno, l'upstream può cambiarla facilmente (ad esempio, quando un sottomodulo .gitignoreè stato aggiornato in modo che " ignore=untracked" non sia più necessario può essere rimosso).
Anche il cambio di ramo avrà un effetto istantaneo se la ignorevoce " " in .gitmodulesè diversa tra i rami.
Un altro approccio per fare in modo che git status (o qualsiasi comando git) ignori un particolare sottomodulo è disponibile con Git 2.13 (Q2 2017):
git config submodule.<name>.active false
Per ulteriori informazioni, vedere " Ignora nuovi commit per il sottomodulo git ".