Bagaimana mengabaikan ekstensi? Menggunakan * dan **

*.log mengabaikan nama berakhiran .log dalam cakupan .gitignore. Untuk direktori tertentu, tentukan apakah subdirektori ikut tercakup.

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

Bagaimana mengabaikan folder? folder/ atau /folder/

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.log

Dengan /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