Git’te Bir Klasör Nasıl Yok Sayılır?

Git, versiyon kontrol sistemi olarak yazılım geliştiricileri tarafından yaygın olarak kullanılan bir araçtır. Ancak, bazen bir proje içinde bazı klasörleri veya dosyaları Git’in izlemesini istemeyebiliriz. Bu yazıda, Git’te bir klasörü nasıl yok sayacağınızı adım adım anlatacağız. Bu işlem, özellikle büyük dosya veya klasörlerin projeye dahil edilmemesi gerektiğinde kullanışlıdır.

Git’te Klasörleri Yok Saymak Neden Önemlidir?

Git, projenizdeki dosya ve klasörleri izleyerek versiyon kontrolü sağlar. Ancak, bazı durumlarda belirli dosya ve klasörlerin bu izleme dışında tutulması gerekebilir. Örneğin:

  • Projenizde geçici dosyalar veya log dosyaları olabilir.
  • Büyük dosyalar (video, ses dosyaları) gereksiz yere versiyon kontrolüne dahil edilmemelidir.
  • Gizli veya kişisel bilgiler içeren dosyalar.

Bu tür dosyaların izlenmesi, depo boyutunun gereksiz yere büyümesine yol açabilir. Ayrıca, gizliliği riske atabilir. Bu yüzden Git’te bu tür dosya veya klasörleri yok saymak önemlidir.

Git’te Bir Klasör Nasıl Yok Sayılır?

Git’te bir klasörü yok saymak için temel olarak .gitignore dosyasını kullanacağız. Bu dosya, Git’in hangi dosya veya klasörleri izlemesi gerektiğini belirtir. Aşağıda, adım adım Git’te bir klasörün nasıl yok sayılacağına dair detaylı bir açıklama bulunmaktadır.

1. .gitignore Dosyasını Oluşturun veya Düzenleyin

İlk olarak, projenizin kök dizininde bir .gitignore dosyasına sahip olup olmadığınızı kontrol edin. Eğer yoksa, bu dosyayı oluşturmanız gerekir. Bu dosya, Git’in hangi dosya ve klasörleri görmezden gelmesi gerektiğini belirtir.

Bir .gitignore dosyası oluşturmak için, terminal veya komut satırını açarak proje dizininize gidin ve şu komutu girin:

touch .gitignore

Bu komutla yeni bir .gitignore dosyası oluşturmuş olursunuz.

2. Klasörü .gitignore Dosyasına Ekleyin

Yok saymak istediğiniz klasörü .gitignore dosyasına eklemeniz gerekmektedir. Örneğin, logs adında bir klasörü yok saymak istiyorsanız, .gitignore dosyasına aşağıdaki satırı eklemeniz gerekir:

logs/

Bu satır, Git’e logs adlı klasörün izlenmemesini söyler. Klasörün adının sonuna / eklemek, yalnızca bu klasörü hedef almanızı sağlar. Eğer alt klasörleri de yok saymak istiyorsanız, aynı şekilde her birini .gitignore dosyasına eklemeniz gerekir.

3. Klasörün Önceden Takip Edilip Edilmediğini Kontrol Edin

Bir klasörün daha önce Git tarafından izlenip izlenmediğini kontrol etmeniz gerekir. Eğer klasör önceden izlenmişse, sadece .gitignore dosyasını eklemek yeterli olmaz. Önce Git’in bu dosyayı izlemeyi durdurması gerekir. Bunu yapmak için şu adımları takip edebilirsiniz:

i. Klasörü Git’ten Çıkarın

Öncelikle, Git’in klasörü takip etmeyi bırakmasını sağlamak için şu komutu kullanabilirsiniz:

git rm -r --cached logs/

Bu komut, Git’e logs klasörünü takibi bırakması talimatını verir, ancak dosya diskinizdeki klasörler silinmez. Klasör sadece Git’in izleme listesinden çıkarılır.

ii. Değişiklikleri Kaydedin

Sonrasında, bu değişiklikleri commit ederek kaydedin:

git commit -m "Remove logs directory from version control"

Bu adım, klasörün artık Git tarafından izlenmemesini sağlar.

4. .gitignore Dosyasını Git’e Ekleyin

Son olarak, .gitignore dosyasını Git’e ekleyin ve commit işlemini gerçekleştirin:

git add .gitignore
git commit -m "Update .gitignore to ignore logs directory"

Bu adım, .gitignore dosyasını projeye dahil eder ve gelecekteki tüm değişikliklerde Git’in logs klasörünü yok saymasını sağlar.

Alternatif Yöntemler ve İpuçları

Git’te klasör yok saymak için .gitignore dosyasını kullanmak en yaygın yöntem olmakla birlikte, bazı durumlarda farklı yaklaşımlar da kullanılabilir:

1. Git Update-Index Komutu Kullanmak

Bir klasörü yalnızca belirli bir commit’e kadar yok saymak istiyorsanız, git update-index --assume-unchanged komutunu kullanabilirsiniz. Bu, Git’e klasörü değişmez olarak işaret eder. Ancak bu yöntem, klasörün gelecekteki commitlerde kontrol edilmesini engellemez. Klasörü tekrar izlemeye almak için şu komutu kullanabilirsiniz:

git update-index --no-assume-unchanged logs/

2. Klasör İçindeki Dosyaları İzlemek

Bazen, sadece klasörün tamamını değil, içindeki belirli dosyaları yok saymak isteyebilirsiniz. Bu durumda, sadece o dosya adlarını .gitignore dosyasına ekleyebilirsiniz. Örneğin:

logs/*.log

Bu, logs klasöründeki tüm .log uzantılı dosyaları yok sayar, ancak klasörün kendisini takip etmeye devam eder.

Sonuç

Git’te bir klasörü yok saymak, projenizi temiz tutmanın ve gereksiz dosya takibinden kaçınmanın önemli bir yoludur. .gitignore dosyasını doğru bir şekilde kullanarak, Git’in izlemesini istemediğiniz dosya ve klasörleri kolayca hariç tutabilirsiniz. Bu işlem, projelerinizi daha verimli hale getirebilir ve güvenliğinizi artırabilir.

Unutmayın ki, .gitignore dosyası yalnızca yeni dosya eklemelerini etkiler. Önceden izlenen dosyaları yok saymak için git rm --cached komutunu kullanmalısınız.