Git dan folder kosong

Oleh kerana diketahui bahawa Git tidak tahu folder tetapi hanya fail, struktur folder kosong tidak akan berakhir di repositori. Namun, kerana banyak kerangka kerja dan projek benar-benar memerlukannya, mereka harus berakhir di sana. Amalan biasa adalah membuat fail placeholder yang disebut (sering disebut .gitkeep) yang secara tersirat menentukan struktur folder. Fail-fail ini dapat dibuat dengan mudah dan, jika dikehendaki, juga dapat memastikan bahawa fail lain dalam folder diabaikan.


Mula-mula kita membuat repositori ujian dan membuat beberapa subfolder:

434e6616f335599d241482f169f68f1b

Kami kini mempunyai struktur folder berikut:

434e6616f335599d241482f169f68f1b

Status git -u menunjukkan kepada kita tiada perubahan seperti yang diharapkan:

Git dan folder kosong

Kami sekarang 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 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 dua :

434e6616f335599d241482f169f68f1b

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

Sekarang kami membuat beberapa fail ujian:

434e6616f335599d241482f169f68f1b

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

Git dan folder kosong

Belakang