.gitignore neden çalışmıyor?

Genellikle dosya zaten izleniyordur, kural başka yerdedir veya desen beklenen yolla eşleşmiyordur.

1. Git dosyayı zaten izliyor mu?

Yok sayma kuralları, bilerek izleme dışında tutulan dosyalara uygulanır. Desen eklemek, önceden commit edilmiş bir dosyayı Git indeksinden kaldırmaz.

git ls-files -- path/to/file

Yol çıktıda görünüyorsa dosya izleniyordur. İlgili rehbere bakın:

Git’in izlediği dosyaları nasıl yok sayarım?

2. Eşleşen kuralı bulun

Depodan gerçek göreli yolu kullanarak kontrolü çalıştırın. Çıktı kuralın kaynak dosyasını ve satırını gösterir.

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

İzlenen bir dosyayı test ederken --no-index kullanın:

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

3. Desenin konumunu ve sırasını inceleyin

Baştaki / deseni .gitignore dosyasının dizinine sabitler; sondaki / yalnızca dizinlerle eşleştirir. Aynı öncelikte sonraki eşleşen kural öncekini geçersiz kılabilir. ! bir yolu yeniden dahil edebilir, ancak Git’in taramayı bıraktığı dışlanmış bir dizinin içindeki dosyayı edemez.

! neden yok sayılan dizindeki dosyayı korumuyor?

4. Diğer kaynakları kontrol edin

Git ayrıca .git/info/exclude ve core.excludesFile ile ayarlanan genel dosyayı okur. Bu nedenle proje .gitignore dosyasında kural olmasa bile dosya gizlenebilir. Genel yapılandırmayı kontrol edin:

git config --get core.excludesFile

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

Kesin davranış ve ayrıntılar için resmi kaynaklara başvurun: Git belgeleri