Bahsettiğiniz gibi, yama git alt modülü: özet için kirli alt modülleri yok sayın ve durum yapım aşamasındadır.
Git 1.7.2-rc2 sürümünde ayrıca duyuruldu :
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
" git status
" öğrenildi " --ignore-submodules
" seçeneği.
Anlamı:
git config --global diff.ignoreSubmodules dirty
Bunu bir seçenek olarak görmek, şimdilik tam olarak seçilen yaklaşım değildir :
Bu seriden sonra , her alt modül için "tümü", "kirli", "izlenmeyen" veya "hiçbiri" (varsayılan) olarak ayarlanabilen bir yapılandırma seçeneği ' ignore
' eklemeyi planlıyorum .gitmodules
.
" git diff
" ve " git status
" her alt modül için bu yapılandırma değerini kullanacaktır.
" --ignore-submodule
" Kullanılması bu varsayılanı geçersiz kılar (ve yapılandırma ayarlarını geçersiz kılmak için yeni "hiçbiri" parametresi buraya eklenecektir).
Ve git submdule sync
bu seçenek her değiştiğinde " " yapmak zorunda kalmamak için, .git/config
önce onu aramak istiyorum .
Orada bulunmazsa .gitmodules
, varsa buradan alınacaktır .
Böylece kullanıcılar ayarı geçersiz kılabilir, ancak yapmazlarsa, yukarı akış bunu kolayca değiştirebilir (örneğin, artık .gitignore
" ignore=untracked
" artık gerekli olmayacak şekilde bir alt modül güncellendiğinde, bu ayar kaldırılabilir).
Ayrıca, ' ignore
' girişi .gitmodules
şubeler arasında farklıysa, şubeleri değiştirmek anında etkili olacaktır .
Git durumunu (veya herhangi bir git komutunu) belirli bir alt modülü yok saymak için başka bir yaklaşım Git 2.13 (Q2 2017) ile kullanılabilir:
git config submodule.<name>.active false
" Git alt modülü için yeni tamamlamaları yoksay " bölümünde daha fazlasını görün .