1. Abaikan ekstensi di seluruh proyek
Dalam .gitignore akar, pola ini cocok dengan app.log, logs/app.log, dan src/app.log. * mencocokkan nol atau lebih karakter selain /; tanpa garis miring, Git memeriksa nama pada semua kedalaman di bawah .gitignore.
Tulis satu pola per baris. Ini pola pengabaian Git, bukan perintah shell atau ekspresi reguler: *.{log,tmp} bukan daftar ekstensi dalam sintaks ini.
*.log 2. Batasi pola ke direktori
Alternatif pertama cocok dengan logs/app.log tetapi tidak dengan logs/archive/app.log. Alternatif kedua cocok dengan keduanya: /**/ memungkinkan nol atau lebih direktori perantara. Keduanya tidak cocok dengan src/app.log.
Uji satu alternatif pada satu waktu. /logs/ dapat menyembunyikan berkas bertingkat dengan mengecualikan induknya; periksa aturan lain sebelum menyimpulkan perilaku wildcard.
/logs/*.log/logs/**/*.log 3. Periksa jalur perwakilan
Pilih satu aturan, buat tiga berkas contoh yang tidak terlacak, lalu periksa pola yang cocok:
git check-ignore -v -- logs/app.log logs/archive/app.log src/app.logDengan /logs/**/*.log, kedua jalur di bawah logs harus cocok, sedangkan src/app.log tidak. Hasil dengan ! merupakan pengecualian; semua direktori induknya harus tetap dapat ditelusuri.
Mengapa ! gagal mempertahankan berkas dalam direktori yang diabaikan?
Untuk perilaku yang tepat dan rincian lebih lanjut, lihat referensi resmi: Dokumentasi Git · Dokumentasi git check-ignore