Git ve boş klasörler

Git'in herhangi bir klasör değil, yalnızca dosya tanıdığı iyi bilindiğinden, boş klasör yapıları depoda bulunmaz. Bununla birlikte, birçok çerçeve ve projenin kesinlikle onlara ihtiyacı olduğundan, orada bulunmaları gerekir. Yaygın bir uygulama, klasör yapısını dolaylı olarak belirten yer tutucu dosyaları (genellikle .gitkeep olarak adlandırılır) oluşturmaktır. Bu dosyalar kolayca oluşturulabilir ve istenirse klasörlerdeki diğer dosyaların göz ardı edilmesini de sağlayabilir.


İlk önce bir test deposu oluşturuyoruz ve bazı alt klasörler oluşturuyoruz:

434e6616f335599d241482f169f68f1b

Şimdi aşağıdaki klasör yapısına sahibiz:

434e6616f335599d241482f169f68f1b

Git durumu -u bize beklendiği gibi hiçbir değişiklik göstermez:

Git ve boş klasörler

Artık gerekli tüm konumlarda yer tutucu dosyaları oluşturmak için find komutunu kullanıyoruz:

434e6616f335599d241482f169f68f1b

Şimdi aşağıdaki klasör / dosya yapısını aldık:

434e6616f335599d241482f169f68f1b

Git durumu -u şimdi bize tüm klasörlerin (örtülü olarak) depoda bittiğini gösteriyor:

Git ve boş klasörler

Klasör yapısının her zaman depoda kalmasını sağlamak, ancak herhangi bir dosya (yer tutucu dosyaları dışında) olmamasını sağlamak istiyorsak, bir gitignore oluştururuz:

434e6616f335599d241482f169f68f1b

Çift yıldız sözdizimini kullanıyoruz :

434e6616f335599d241482f169f68f1b

İlk satır "foo" klasöründeki tüm dosyaları ve klasörleri (herhangi bir düzeyde) yinelemeli olarak yok sayar, ikinci satır tüm klasörleri (herhangi bir düzeyde) bu kuraldan özyineli olarak hariç tutar ve üçüncü satır tüm .gitkeep dosyalarını (herhangi bir düzeyde) hariç tutar .

Şimdi bazı test dosyaları oluşturuyoruz:

434e6616f335599d241482f169f68f1b

Git durumu -u şimdi bize istenen sonucu gösteriyor:

Git ve boş klasörler

Geri