Benzer sorular ( 1 , 2 ve 3 ) gördüm, ancak onlardan uygun bir çözüm alamıyorum.
Belirli bir dosya türü dışında, belirli bir klasör altındaki tüm dosyaları yok saymam gerekiyor. Klasör, kök yol için bir alt dizindir. Klasöre bir isim vereyim Resources
. İşleri karmaşıklaştırmak istemediğim için, Resources
nerede olursa olsun adlandırılmış tüm klasörler altındaki dosyaları yoksaymama izin verin .
Bu en yaygın çözümdür (tüm yinelenen sorularda)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
Bu çözümle ilgili sorun, yeni eklenen dosyaları izlemeyi durdurmasıdır (çünkü *
tüm dosyaları yok sayar). Her bir dosya türünü hariç tutmak istemiyorum. Herhangi bir yeni dosya eklendiğinde git status
onu gösteren normal davranış istiyorum .
Nihayet burada bir çözüm buldum . Çözüm, klasöre başka bir .gitignore
dosya eklemektir Resources
. Bu doğru çalışıyor.
Tek bir görmezden gelme dosyasıyla aynı şeyi yapabilir miyim? Farklı dizinlerdeki pek çok görmezden gelen dosyaya sahip olmayı biraz hantal buluyorum.
Başarmaya çalıştığım şey bu:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
Ancak bu tam tersi çıktı verir. *.foo
Türleri yok sayar ve diğer dosyaları izler.
DirectoryName1/** DirectoryName1/**/*
her biri için. Firmalar dizinleri kaldırır, ancak tüm dosya türlerini kaldırmak için ikinciye ihtiyacınız vardır.