Boş dizin nasıl korunur? .gitkeep mi .gitignore mı?

Normal Git add ve checkout işlemleri dizinleri içlerindeki dosyalarla korur. Başlangıçta boş dizin için .gitkeep, sonradan üretilen içeriği yok saymak için .gitignore seçin.

1. Bir yer tutucu koruyun

Editörde uploads dizinini ve boş uploads/.gitkeep dosyasını oluşturup yalnızca bu dosyayı hazırlayın:

git add -- uploads/.gitkeep

İndekste uploads/.gitkeep bulunduğunu doğrulayın. .gitkeep bir gelenektir, Git’te özel davranışı yoktur; dizinin amacını açıklayan README de uygundur. Sonradan eklenen dosyaları otomatik yok saymaz.

git ls-files -- uploads/

2. Dizini koruyup üretilen içeriği yok sayın

.gitkeep yerine uploads/.gitignore dosyasını aşağıdaki iki satırla oluşturun. * içeriği yok sayar, !.gitignore kural dosyasını izlenebilir tutar.

İzlenen yer tutucu kural dosyasının kendisidir, dolayısıyla dizinde bu dosya bulunur. Kurallar değiştirilene kadar yeni dosyalar bilerek yok sayılır.

*
!.gitignore

! neden yok sayılan dizindeki dosyayı korumuyor?

3. Seçtiğiniz yaklaşımı doğrulayın

.gitignore yaklaşımında kural dosyasını hazırlayın:

git add -- uploads/.gitignore

uploads/example.bin oluşturup eşleşen kuralı kontrol edin:

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

İndekste uploads/.gitignore görünmeli, example.bin görünmemelidir. Üst kural uploads dizininin kendisini dışlıyorsa Git’in içteki .gitignore dosyasını okuyabilmesi için önce onu düzeltin.

git ls-files -- uploads/

Klasörleri nasıl yok sayarım? folder/ ve /folder/

Kesin davranış ve ayrıntılar için resmi kaynaklara başvurun: Git belgeleri · git add belgeleri