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/config
prima.
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 ignore
voce " " 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 ".