Jak wspomniałeś, podmoduł łatki git: ignoruj brudne moduły podrzędne dla podsumowania i statusu jest w trakcie tworzenia.
Ogłoszono również w wydaniu Git 1.7.2-rc2 :
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
„ git status
” Dowiedział się „ --ignore-submodules
” opcja.
Znaczenie:
git config --global diff.ignoreSubmodules dirty
Uznanie tego jako opcji nie jest dokładnie podejściem wybranym na razie :
Po tej serii planuję dodać opcję konfiguracyjną „ ignore
” do .gitmodules
, którą można ustawić dla każdego modułu podrzędnego na „wszystkie”, „brudne”, „nieśledzone” lub „brak” (ustawienie domyślne).
„ git diff
” i „ git status
” użyją tej wartości konfiguracyjnej dla każdego modułu podrzędnego.
Użycie „ --ignore-submodule
” nadpisuje to domyślne (a nowy parametr „none” zostanie tam dodany, aby móc nadpisać ustawienia konfiguracyjne).
Aby uniknąć konieczności wykonywania „ git submdule sync
” za każdym razem, gdy ta opcja się zmienia, chciałbym najpierw ją wyszukać .git/config
.
Jeśli nie zostanie tam znaleziony, zostanie pobrany .gitmodules
, jeśli jest obecny.
Dzięki temu użytkownicy mogą nadpisać to ustawienie, ale jeśli tego nie zrobią, nadawcy mogą je łatwo zmienić (np. Gdy moduł podrzędny .gitignore
został zaktualizowany tak, że „ ignore=untracked
” nie jest już potrzebny, można go usunąć).
Również zmiana gałęzi będzie miała natychmiastowy efekt, jeśli ignore
wpis „ ” w .gitmodules
poszczególnych gałęziach jest inny.
Inne podejście do nadania statusu git (lub dowolnego polecenia git) ignorowania określonego modułu podrzędnego jest dostępne w Git 2.13 (Q2 2017):
git config submodule.<name>.active false
Zobacz więcej w „ Ignoruj nowe zatwierdzenia dla modułu podrzędnego git ”.