Geri Dön
Git dosyaları yalnızca .gitignore ile değil, üç düzeyde yok sayıyor
SiTech AI Team2 წთ. საკითხავი

Git dosyaları yalnızca .gitignore ile değil, üç düzeyde yok sayıyor

Bir blog yazısı Git'te dosya yok saymanın üç düzeyini anlatıyor: depoya işlenen .gitignore, depoya özel .git/info/exclude ve makine genelinde geçerli global yok sayma dosyası.

Git ile çalışan çoğu kişi dosyaları sürüm kontrolünün dışında tutmanın tek bir yolunu bilir: onları .gitignore dosyasına eklemek. nelson.cloud blogundaki bir yazı, Git'in aslında üç farklı yok sayma düzeyini desteklediğini ve her birinin başka bir sorunu çözdüğünü hatırlatıyor.

Proje düzeyi: .gitignore

Bilinen seçenek, depo kökündeki .gitignore dosyasıdır. Kodla birlikte Git'e işlenir, böylece tüm katkıcılar aynı kuralları alır. Burada listelenen dosyalar Git komutları çalıştığında dikkate alınmaz; bu yüzden derleme çıktıları, bağımlılıklar ve ekibin tamamının yok saymak istediği düzenleyici dosyaları için doğru yer burasıdır.

Depo düzeyi: .git/info/exclude

İkinci dosya .git/info/exclude. Her deponun .git dizininde bulunur ama yapılan değişiklikler Git'e hiçbir zaman işlenmez. Yeni bir depoda genellikle yalnızca birkaç yorum satırı içerir. Tek bir depoya özel kişisel istisnalar için tasarlanmıştır: sizin için yararlı olan ama projede yeri olmayan bir notes.txt gibi. Bu tür kayıtları buraya eklemek .gitignore dosyasını düzenli tutar ve başkalarının paylaşmadığı tercihleri yayımlamaz.

Makine düzeyi: ~/.config/git/ignore

Üçüncü düzey küreseldir. ~/.config/git/ignore dosyası ev dizininde durur ve makinedeki her depo için geçerlidir; hiçbir projeye ait değildir. Klasik kullanım işletim sistemi gürültüsüdür — macOS'ta bu .DS_Store demektir. Konum değiştirilebilir: git config --global core.excludesFile ~/.gitignore_global komutu Git'i başka bir dosyaya yönlendirir, git config --global --unset core.excludesFile ise varsayılana döner.

Hangi dosyanın yok saydığını bulmak

Bir dosya Git için beklenmedik biçimde görünmez olduğunda, git check-ignore -v komutu eşleşen kuralı tam olarak gösterir. .DS_Store için çıktı, sorumlu düzeye bağlı olarak .gitignore:1:.DS_Store, .git/info/exclude:7:.DS_Store ya da ~/.config/git/ignore:2:.DS_Store biçiminde olabilir. Dosyayı yok sayan bir şey yoksa komut hiçbir çıktı vermez.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.