Git Stash ile Git Clean Arasındaki Fark Nedir?
Git, yazılım geliştirme süreçlerinde en yaygın kullanılan sürüm kontrol sistemlerinden biridir. Projeler üzerinde çalışırken, bazen geçici olarak yapılmış değişiklikleri saklamak veya temizlik yapmak gerekebilir. Bu noktada, Git’in sunduğu bazı komutlar, özellikle git stash
ve git clean
, geliştiricilere büyük kolaylık sağlar. Ancak bu iki komutun kullanım amacının farklı olduğunu bilmek önemlidir. Bu yazıda, git stash
ile git clean
komutlarının arasındaki farkları detaylı bir şekilde ele alacağız.
Git Stash Nedir?
git stash
, çalışma dizininizdeki değişiklikleri geçici olarak saklamak için kullanılan bir Git komutudur. Bu komut, henüz commit edilmemiş değişiklikleri (staged veya unstaged) yerel bir stash (saklama) alanına kaydeder. Bu sayede, projedeki mevcut işinize devam edebilirken, yaptığınız değişiklikleri geçici olarak saklayabilirsiniz. git stash
, genellikle yeni bir branş oluşturmak, başka bir görevi yapmak veya başka bir çalışma ortamına geçiş yapmak gerektiğinde kullanılır.
Örnek Kullanım:
git stash
Bu komut çalıştırıldığında, şu işlemler gerçekleşir:
- Çalışma dizinindeki ve staging alanındaki değişiklikler kaydedilir ve bir geçici saklama alanına aktarılır.
- Proje, son commit haline döner; yani, tüm değişiklikler geri alınır.
- Değişiklikler stash olarak adlandırılan bir geçici alan içinde saklanır.
Git Stash Komutunun Kullanım Senaryoları
Git stash, özellikle aşağıdaki durumlarda kullanışlıdır:
- Geçici değişiklikler saklamak: Başka bir göreve geçmeden önce geçici değişikliklerinizi saklayabilirsiniz.
- Yeni bir branch oluşturmak: Mevcut branch üzerindeki değişiklikleri kaydetmeden başka bir branch’e geçebilirsiniz.
- İşinizi kaybetmeden çalışma ortamını sıfırlamak: Geçici olarak bir şeyleri geri almak isteyebilirsiniz, ancak çalıştığınız kodu kaybetmek istemezsiniz.
Git Clean Nedir?
git clean
, Git çalışma dizininde yer alan, Git tarafından izlenmeyen dosyaları temizlemek için kullanılan bir komuttur. Bu komut, yalnızca takip edilmeyen dosyalar üzerinde işlem yapar ve untracked files olarak bilinen dosyaları siler. Eğer projenizde geçici dosyalar, derleme çıktıları ya da eski test dosyaları varsa, bu dosyaların silinmesi için git clean
komutunu kullanabilirsiniz.
Örnek Kullanım:
git clean -f
Bu komut, çalışma dizininizdeki izlenmeyen (untracked) dosyaları temizler. Ancak, önemli dosyaları yanlışlıkla silmemek için dikkatli olmanız gerekir.
Git Clean Komutunun Kullanım Senaryoları
Git clean, genellikle aşağıdaki durumlarda kullanılır:
- Geçici dosyaları temizlemek: Derleme süreçlerinden ve testlerden kalan geçici dosyaları silebilirsiniz.
- Çalışma dizinini temiz tutmak: İlgisiz dosyalar, gereksiz dosyalar veya önbellekler temizlenebilir.
- Projede gereksiz dosyaları silmek: Git tarafından izlenmeyen, ancak çalışma dizininde yer kaplayan dosyalar silinebilir.
Git Stash ve Git Clean Arasındaki Farklar
Şimdi, git stash
ve git clean
arasındaki temel farkları inceleyelim:
Özellik | Git Stash | Git Clean |
---|---|---|
İşlev | Çalışma dizinindeki ve staging alanındaki değişiklikleri geçici olarak saklar. | Git tarafından izlenmeyen dosyaları temizler (silinmesini sağlar). |
Dosya Tipi | Çalışma dizinindeki tüm değişiklikler (staged ve unstaged) saklanabilir. | Yalnızca untracked (izlenmeyen) dosyaları siler. |
Amac | Değişiklikleri geçici olarak saklamak ve gerektiğinde geri yüklemek. | Çalışma dizinindeki gereksiz dosyaları temizlemek. |
Veri Kaybı | Veri kaybı olmaz; saklanan değişiklikler geri getirilebilir. | Veri kaybı olabilir; silinen dosyalar geri getirilemez. |
Silme İşlemi | Silme işlemi yapılmaz, değişiklikler sadece saklanır. | Silme işlemi yapılır, dosyalar kalıcı olarak silinir. |
Git Stash ve Git Clean İle İlgili İpuçları
Her iki komutun da faydalı olabileceği bazı ipuçları şunlardır:
- Git Stash:
git stash list
komutu ile kaydedilen tüm değişikliklerinizi görüntüleyebilirsiniz. Ayrıca,git stash pop
komutu ile son yapılan değişikliği geri getirebilirsiniz. - Git Clean: Silme işlemi yapmadan önce,
git clean -n
komutunu kullanarak hangi dosyaların silineceğini görebilirsiniz. Bu sayede yanlışlıkla önemli dosyaları silme riskini önlersiniz.
Sonuç
git stash
ve git clean
, Git kullanıcılarının verimli çalışmasına yardımcı olan iki önemli komuttur. git stash
geçici değişiklikleri saklamak için kullanılırken, git clean
çalışma dizinindeki izlenmeyen dosyaları temizler. Her iki komut da belirli senaryolarda büyük fayda sağlar, ancak kullanım amaçları birbirinden farklıdır. İhtiyacınıza göre doğru komutu seçmek, verimli bir Git kullanımı için önemlidir.
Git’i daha verimli kullanmak için, bu komutların nasıl çalıştığını öğrenmek ve projelerinize nasıl uygulayacağınızı anlamak büyük önem taşır. Unutmayın, her iki komut da yanlış kullanıldığında veri kaybına yol açabilir, bu yüzden dikkatli olmanızda fayda var.