Bagaimana mempertahankan direktori kosong? .gitkeep atau .gitignore?

Operasi add dan checkout Git mempertahankan direktori melalui berkas di dalamnya. Pilih .gitkeep untuk direktori yang awalnya kosong, atau .gitignore jika isi yang dihasilkan nanti harus diabaikan.

1. Simpan penanda untuk konten berikutnya

Buat uploads dan berkas kosong uploads/.gitkeep di editor, lalu siapkan berkas itu saja:

git add -- uploads/.gitkeep

Pastikan uploads/.gitkeep ada di indeks. .gitkeep hanya konvensi tanpa perilaku khusus Git; README yang menjelaskan tujuan direktori juga bisa dipakai. Penanda tidak otomatis mengabaikan berkas yang ditambahkan kemudian.

git ls-files -- uploads/

2. Pertahankan direktori, abaikan isi yang dihasilkan

Sebagai alternatif .gitkeep, buat uploads/.gitignore dengan dua baris berikut. * mengabaikan isi dan !.gitignore membuat berkas aturan tetap dapat dilacak.

Berkas aturan itu sendiri menjadi penanda terlacak di dalam direktori. Berkas mendatang sengaja diabaikan sampai aturan diubah.

*
!.gitignore

Mengapa ! gagal mempertahankan berkas dalam direktori yang diabaikan?

3. Verifikasi pendekatan pilihan

Untuk pendekatan .gitignore, siapkan berkas aturannya:

git add -- uploads/.gitignore

Buat uploads/example.bin dan periksa kecocokan aturan:

git check-ignore -v -- uploads/example.bin

Indeks harus memuat uploads/.gitignore, bukan example.bin. Jika aturan induk mengecualikan uploads itu sendiri, perbaiki terlebih dahulu agar Git dapat membaca .gitignore di dalamnya.

git ls-files -- uploads/

Bagaimana mengabaikan folder? folder/ atau /folder/

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