Git, doğası gereği yalnızca dosyaları izler, dizinleri değil. Ancak, bir depoyu yeni kopyalayan geliştiriciler için build gibi belirli çıktı dizinlerinin varlığını sağlamak gibi durumlarda boş dizinleri "izlemek" gerekebilir. Bu durum, özellikle proje yapısının tutarlılığı açısından önem taşır. Geleneksel olarak bu sorun, dizin içine .gitkeep adında boş bir dosya eklenerek çözülmeye çalışılır.
.gitkeep yöntemi, dizinin varlığını garantilemek için içine boş bir dosya koymayı ve ardından ana .gitignore dosyasına /dizin_adı/* ile tüm dosyaları yok sayıp !/dizin_adı/.gitkeep ile .gitkeep dosyasını tekrar izlenebilir hale getirmeyi içerir. Bu yöntem işlevsel olsa da bazı dezavantajları vardır: iki farklı dosyanın düzenlenmesini gerektirir, dizin adı değiştiğinde .gitignore dosyasının güncellenmesi unutulabilir ve .gitkeep Git tarafından tanınan standart bir dosya olmadığı için diğer geliştiricilerde kafa karışıklığına yol açabilir.
Makale, bu sorunları ortadan kaldıran daha zarif bir çözüm sunuyor: dizinin içine sadece .gitignore adında bir dosya oluşturmak. Bu .gitignore dosyasının içeriği * (dizindeki tüm dosyaları yok say) ve !.gitignore (kendi .gitignore dosyasını yok sayma) şeklinde olmalıdır. Bu sayede, Git yalnızca dizinin içindeki .gitignore dosyasını commit eder ve dizinin varlığını güvence altına alır. Bu yöntem, tek bir standart dosya kullanır ve dizin yeniden adlandırılsa bile sorunsuz çalışmaya devam eder, böylece daha temiz ve sürdürülebilir bir çözüm sunar.
Git projelerinde boş dizinleri doğru ve sürdürülebilir bir şekilde yönetmek için standart bir yöntem sunar.