Git dan folder kosong

Memandangkan Git tidak tahu folder, hanya fail, struktur folder kosong tidak akan berada dalam repositori. Oleh kerana banyak rangka kerja dan projek benar-benar memerlukan ini, ia sepatutnya berakhir di sana. Amalan biasa ialah membuat apa yang dipanggil fail pemegang tempat (sering dipanggil .gitkeep), yang secara tersirat menentukan struktur folder. Anda boleh membuat fail ini dengan mudah dan, jika mahu, pastikan fail lain dalam folder diabaikan.


Mula-mula kita membuat repositori ujian dan membuat beberapa sub-folder:

434e6616f335599d241482f169f68f1b

Kami sekarang mempunyai struktur folder berikut:

434e6616f335599d241482f169f68f1b

Seperti yang dijangkakan, status git -u menunjukkan kepada kita tidak ada perubahan:

Git dan folder kosong

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

434e6616f335599d241482f169f68f1b

Kami kini telah menerima struktur folder / fail berikut:

434e6616f335599d241482f169f68f1b

Status git -u kini menunjukkan kepada kita bahawa semua folder (secara tersirat) berakhir di repositori:

Git dan folder kosong

Sekiranya kita sekarang ingin memastikan bahawa struktur folder selalu berakhir di repositori, tetapi tidak ada fail (selain dari fail placeholder), kami membuat gitignore:

434e6616f335599d241482f169f68f1b

Kami menggunakan Sintaks bintang berganda:

434e6616f335599d241482f169f68f1b

Baris pertama secara berulang-ulang mengabaikan semua fail dan folder (di mana-mana peringkat) dalam folder "foo", baris kedua secara berulang-ulang mengecualikan semua folder dari peraturan ini (pada tahap mana pun) dan baris ketiga tidak termasuk semua fail .gitkeep (pada tahap mana pun) .

Sekarang mari buat beberapa fail ujian:

434e6616f335599d241482f169f68f1b

Status git -u kini menunjukkan kepada kita hasil yang diinginkan:

Git dan folder kosong

Belakang