Git’te Belirli Bir Dosya Uzantısı Nasıl Yok Sayılır?

Git, yazılım geliştirme projelerinde kullanılan en popüler sürüm kontrol sistemlerinden biridir. Ancak, bir projede bazı dosyaların veya dosya türlerinin sürüm kontrolüne dahil edilmesini istemeyebilirsiniz. Bu durumda, Git’te belirli bir dosya uzantısını yok sayma özelliği oldukça faydalıdır. Bu makalede, Git’te belirli bir dosya uzantısını nasıl yok sayabileceğinizi adım adım öğreneceksiniz.

Gitignore Dosyası Nedir?

Git’te dosyaları yok saymak için kullanılan en yaygın yöntem .gitignore dosyasını kullanmaktır. Bu dosya, Git’e hangi dosya ve dizinlerin sürüm kontrolüne dahil edilmemesi gerektiğini bildirir. .gitignore dosyası, proje dizininizin kökünde bulunur ve düz bir metin dosyasıdır.

.gitignore Dosyasının Temel Söz Dizimi

  • *: Herhangi bir karakter dizisini temsil eder.
  • ?: Tek bir karakteri temsil eder.
  • dir/: Sadece belirtilen dizini yok sayar.
  • !dosya.ext: Daha önce yok sayılmış bir dosyayı dahil eder.

Belirli Bir Dosya Uzantısını Yok Sayma

Bir projede belirli bir dosya uzantısını yok saymak için .gitignore dosyasına uygun bir kural eklemeniz gerekir. Örneğin, .log uzantılı dosyaları yok saymak istiyorsanız aşağıdaki adımları izleyin:

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

Eğer proje dizininizde bir .gitignore dosyası yoksa, aşağıdaki komutla bir tane oluşturabilirsiniz:

touch .gitignore

Eğer zaten bir .gitignore dosyanız varsa, düzenlemek için bir metin düzenleyici kullanabilirsiniz:

nano .gitignore

2. Uzantıyı Ekleme

Belirli bir dosya uzantısını yok saymak için dosyanın uzantısını .gitignore dosyasına ekleyin. Örneğin, .log uzantılı dosyaları yok saymak için:

*.log

Bu kural, proje dizinindeki tüm .log uzantılı dosyaları yok sayacaktır.

3. Değişiklikleri Kaydedin

Yaptığınız değişiklikleri kaydedin ve dosyayı kapatın. Artık Git, belirtilen dosya uzantısına sahip dosyaları izlemez.

Belirli Bir Dizin İçindeki Uzantıları Yok Sayma

Eğer sadece belirli bir dizindeki dosya uzantılarını yok saymak istiyorsanız, bu durumu .gitignore dosyasında aşağıdaki gibi belirtebilirsiniz:

dir_name/*.log

Bu kural, yalnızca dir_name dizinindeki .log dosyalarını yok sayacaktır.

Özel Durumlar: Daha Önce İzlenen Dosyaları Yok Sayma

Eğer Git, yok saymak istediğiniz dosyaları zaten izliyorsa, .gitignore dosyasına ekleme yapmak yeterli değildir. Bu durumda aşağıdaki adımları izleyin:

1. Önbellekten Çıkarma

Git’in izlediği dosyayı önbellekten çıkarmak için şu komutu çalıştırabilirsiniz:

git rm --cached dosya_adı

Örneğin, tüm .log dosyalarını önbellekten çıkarmak için:

git rm --cached *.log

2. Değişiklikleri Commit Etme

Değişiklikleri commit ederek, bu dosyaların artık izlenmediğinden emin olun:

git commit -m "Removed log files from tracking"

.gitignore Dosyasının Doğru Çalıştığını Kontrol Etme

.gitignore dosyanızın doğru çalıştığından emin olmak için şu komutu kullanabilirsiniz:

git status

Eğer kurallar doğru bir şekilde uygulanmışsa, yok sayılan dosyalar git status çıktısında görünmeyecektir.

Örnek .gitignore Dosyası

Aşağıda, farklı senaryolar için örnek bir .gitignore dosyası yer almaktadır:


# Tüm .log dosyalarını yok say
*.log

# Sadece tmp dizinindeki .tmp dosyalarını yok say
tmp/*.tmp

# Tüm node_modules dizinlerini yok say
node_modules/

# Daha önce yok sayılan bir dosyayı dahil et
!not_ignored_file.log

Sonuç

Bu makalede, Git’te belirli bir dosya uzantısını nasıl yok sayabileceğinizi öğrendiniz. .gitignore dosyasını doğru bir şekilde kullanarak, gereksiz dosyaların sürüm kontrolüne dahil olmasını önleyebilir ve projenizin temiz kalmasını sağlayabilirsiniz. Unutmayın, .gitignore dosyanızın doğru bir şekilde çalıştığından emin olmak için dosya yolunu ve kuralları dikkatlice kontrol edin.

Eğer Git hakkında daha fazla bilgi edinmek istiyorsanız, Git’in resmi belgelerine göz atabilirsiniz.