Git dan folder kosong

Karena Git tidak mengenal folder, hanya file, struktur folder kosong tidak berakhir di repositori. Namun, karena banyak kerangka kerja dan proyek yang benar-benar membutuhkan ini, mereka harus berakhir di sana. Praktik yang umum adalah membuat apa yang disebut file placeholder (sering disebut .gitkeep), yang secara implisit menentukan struktur folder. File-file ini dapat dibuat dengan mudah dan, jika diinginkan, juga pastikan bahwa file lain di folder tersebut diabaikan.


Pertama kita membuat repositori percobaan dan membuat beberapa sub-folder:

434e6616f335599d241482f169f68f1b

Kami sekarang memiliki struktur folder berikut:

434e6616f335599d241482f169f68f1b

Seperti yang diharapkan, status git -u menunjukkan tidak ada perubahan:

Git dan folder kosong

Kami sekarang akan menggunakan find untuk membuat file placeholder di semua lokasi yang diperlukan:

434e6616f335599d241482f169f68f1b

Kami sekarang telah menerima folder / struktur file berikut:

434e6616f335599d241482f169f68f1b

Status git -u sekarang menunjukkan kepada kita bahwa semua folder (secara implisit) berakhir di repositori:

Git dan folder kosong

Jika sekarang kami ingin memastikan bahwa struktur folder selalu berakhir di repositori, tetapi bukan file apa pun (selain file placeholder), kami membuat gitignore:

434e6616f335599d241482f169f68f1b

Kami memanfaatkan Sintaks bintang ganda:

434e6616f335599d241482f169f68f1b

Baris pertama secara rekursif mengabaikan semua file dan folder (di tingkat mana pun) di folder "foo", baris kedua secara rekursif mengecualikan semua folder dari aturan ini (di tingkat mana pun) dan baris ketiga mengecualikan semua file .gitkeep (di tingkat mana pun) .

Sekarang mari kita buat beberapa file uji:

434e6616f335599d241482f169f68f1b

Status git -u sekarang menunjukkan hasil yang diinginkan:

Git dan folder kosong

Kembali