Como você mencionou, o submódulo do patch git: ignorar submódulos sujos para resumo e status está em construção.
Também anunciado no Git 1.7.2-rc2 :
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
opção " git status
" aprendida " --ignore-submodules
".
Significado:
git config --global diff.ignoreSubmodules dirty
Considerar isso como uma opção não é exatamente o abordagem escolhida no momento :
Após esta série, pretendo adicionar uma opção de configuração 'ignore
' a .gitmodules
, que pode ser definida para cada sub-módulo como "todos", "sujos", "não rastreados" ou "nenhum" (o padrão).
" git diff
" e " git status
" usarão esse valor de configuração para cada submódulo.
O uso de " --ignore-submodule
" substitui esse padrão (e o novo parâmetro "nenhum" será adicionado lá para substituir as configurações).
E para evitar ter que fazer " git submdule sync
" toda vez que essa opção for alterada, eu gostaria de procurá-la em.git/config
primeiro.
Se não for encontrado lá, será retirado .gitmodules
, se presente.
Assim, os usuários podem substituir a configuração, mas se não o fizerem, a montante poderá alterá-la facilmente (por exemplo, quando um submódulo .gitignore
foi atualizado para que " ignore=untracked
" não seja mais necessário e possa ser removido).
A troca de ramificações também terá efeito instantâneo se a ignore
entrada ' ' .gitmodules
for diferente entre as ramificações.
Outra abordagem para tornar o status do git (ou qualquer comando git) para ignorar um sub-módulo específico está disponível no Git 2.13 (Q2 2017):
git config submodule.<name>.active false
Veja mais em " Ignorar novas confirmações para o submódulo git ".