Dosya neden genel Git kurallarıyla yok sayılıyor?

Projenin .gitignore dosyasında eşleşme olmasa da dosya yok sayılabilir. Yapılandırmayı değiştirmeden gerçek kaynağı bulun.

1. Eşleşen kuralı belirleyin

Depo kökünde path/to/file yerine izlenmeyen dosyanın gerçek yolunu yazın:

git check-ignore -v -- path/to/file

Ayrıntılı çıktı kaynak dosyayı, satırı ve deseni gösterir: .gitignore, .git/info/exclude veya genel dosya olabilir. ! yolu yeniden dahil eder. Çıktı olmaması dosyanın zaten izlendiği anlamına da gelebilir; ayrı kontrol edin.

2. Yapılandırılan genel dosyayı bulun

Etkin core.excludesFile değerini ve onu tanımlayan yapılandırma dosyasını inceleyin:

git config --show-origin --get core.excludesFile

Çıkış kodu 1 ile çıktı olmaması bu ayarın bulunmadığını söyler; genel kuralların kapalı olduğunu değil. Git ayrıca $XDG_CONFIG_HOME/git/ignore dosyasına veya XDG_CONFIG_HOME boş ya da tanımsızsa $HOME/.config/git/ignore dosyasına bakar. check-ignore tarafından verilen kaynakla başlayın.

3. Doğru kaynağı değiştirip doğrulayın

Paylaşılan kurallar .gitignore, tek depoya ait kişisel kurallar .git/info/exclude, depolar arası kişisel kurallar genel dosyada olmalıdır. Genel değişiklik diğer depoları da etkiler; bir yol için tüm yapılandırmayı kaldırmayın. .gitignore, .git/info/exclude ve core.excludesFile karşısında önceliklidir. Proje istisnası, hiçbir üst dizin dışlanmadığı sürece daha düşük öncelikli dışlamayı geçersiz kılabilir. Gerçek yolla yeniden kontrol edin:

git check-ignore -v -- path/to/file

! 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 · Git yapılandırma belgeleri