Mengapa .gitignore tidak berfungsi?

Penyebab umumnya adalah berkas yang sudah dilacak, aturan di lokasi lain, atau pola yang tidak cocok dengan jalur yang dimaksud.

1. Periksa apakah Git sudah melacak berkas

Aturan pengabaian berlaku untuk berkas yang sengaja tidak dilacak. Menambahkan pola tidak menghapus berkas yang pernah di-commit dari indeks Git.

git ls-files -- path/to/file

Jika jalur muncul, berkas sudah dilacak. Ikuti panduan berkas terlacak:

Bagaimana mengabaikan berkas yang sudah dilacak Git?

2. Cari tahu aturan yang cocok

Jalankan pemeriksaan dari repositori dengan jalur relatif yang sebenarnya. Hasilnya menunjukkan berkas sumber aturan dan nomor baris.

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

Gunakan --no-index untuk menguji berkas yang sudah dilacak:

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

3. Periksa lokasi dan urutan pola

Garis miring awal mengikat pola ke direktori tempat .gitignore berada; garis miring akhir membatasi pola pada direktori. Pada tingkat prioritas yang sama, aturan berikutnya dapat menimpa aturan sebelumnya. ! dapat menyertakan kembali jalur, tetapi tidak berkas di dalam direktori yang sudah dikecualikan dari penelusuran Git.

Mengapa ! gagal mempertahankan berkas dalam direktori yang diabaikan?

4. Periksa sumber aturan lain

Git juga membaca .git/info/exclude dan berkas global yang diatur melalui core.excludesFile. Berkas dapat diabaikan meskipun tidak disebut di .gitignore proyek. Periksa konfigurasi global:

git config --get core.excludesFile

Mengapa berkas diabaikan oleh aturan Git global?

Untuk perilaku yang tepat dan rincian lebih lanjut, lihat referensi resmi: Dokumentasi Git