Dosya uzantılarını nasıl yok sayarım? * ve **

*.log, .gitignore kapsamındaki .log ile biten adları yok sayar. Belirli dizinde alt yolların dahil olup olmayacağını seçin.

1. Projede bir uzantıyı yok sayın

Kök .gitignore içinde app.log, logs/app.log ve src/app.log ile eşleşir. * / dışındaki sıfır veya daha fazla karakterdir; desende çizgi yoksa Git bu .gitignore altındaki her derinlikte adları kontrol eder.

Her deseni ayrı satıra yazın. Bunlar shell komutu veya düzenli ifade değil, Git desenleridir: *.{log,tmp} bu sözdiziminde uzantı listesi değildir.

*.log

2. Deseni bir dizinle sınırlayın

İlk alternatif logs/app.log ile eşleşir, logs/archive/app.log ile eşleşmez. İkincisi ikisiyle eşleşir: /**/ sıfır veya daha fazla ara dizine izin verir. Hiçbiri src/app.log ile eşleşmez.

Karşılaştırırken bir seferde tek alternatif kullanın. /logs/ üst dizini dışlayarak alt dosyaları gizleyebilir; joker karakteri değerlendirmeden diğer kuralları kontrol edin.

/logs/*.log
/logs/**/*.log

Klasörleri nasıl yok sayarım? folder/ ve /folder/

3. Temsilî yolları kontrol edin

Bir kural seçip izlenmeyen üç örnek dosyayı oluşturun ve eşleşen desenleri inceleyin:

git check-ignore -v -- logs/app.log logs/archive/app.log src/app.log

/logs/**/*.log ile logs altındaki iki yol eşleşmeli, src/app.log eşleşmemelidir. ! ile başlayan eşleşme istisnadır; bir dosyayı korumak için açık istisna kullanıp üst dizinleri taranabilir bırakın.

! neden yok sayılan dizindeki dosyayı korumuyor?

Kesin davranış ve ayrıntılar için resmi kaynaklara başvurun: Git belgeleri · git check-ignore belgeleri