Git Stash Nedir ve Nasıl Kullanılır?

Git, yazılım geliştirme süreçlerinde yaygın olarak kullanılan bir sürüm kontrol sistemidir. Birçok geliştirici, projeleri üzerinde çalışmalar yaparken Git’in sunduğu çeşitli komutlarla işlerini kolaylaştırır. Git’in sunduğu özelliklerden biri de git stash komutudur. Bu yazımızda, “Git stash nedir ve nasıl kullanılır?” sorusunu detaylı bir şekilde yanıtlayacağız. Eğer Git ile çalışıyorsanız ve işlerinizde verimliliğinizi artırmak istiyorsanız, git stash komutunu nasıl kullanacağınızı öğrenmek sizin için oldukça faydalı olacaktır.

Git Stash Nedir?

Git stash, üzerinde çalıştığınız dosyaları geçici olarak kaydetmenize ve çalışma alanınızı temizlemenize yarayan bir Git komutudur. Bu komut, tamamlanmamış işlerinizi “geçici bir depoya” kaydederek, başka bir dalda çalışmak ya da mevcut dalda farklı bir değişiklik yapmak için çalışma alanınızdaki dosyaları temizlemenizi sağlar. Git stash, geliştirme sürecinde işler arasında geçiş yaparken oldukça faydalıdır.

Özellikle geliştirme sürecinde yeni bir özelliği denemek veya mevcut dalda acil bir değişiklik yapmak gerektiğinde, yapılan değişiklikleri kaybetmeden bu işlemi gerçekleştirmenizi sağlar. Git stash ile, değişikliklerinizi kaybetmeden başka bir işe geçebilir ve sonrasında kolayca geri dönebilirsiniz.

Git Stash Komutları

Git stash komutunun birkaç alt komutu bulunmaktadır. Bu alt komutlar, stash işlemlerini daha verimli bir şekilde yapmanızı sağlar. İşte en yaygın kullanılan git stash komutları:

1. git stash save

Bu komut, üzerinde çalıştığınız değişiklikleri geçici olarak saklar. Çalışma dizininizdeki değişiklikler kaybolmaz, ancak geçici depoya aktarılır. Git stash komutunun en temel kullanımıdır.

git stash save "Açıklama"

Burada, “Açıklama” kısmına yaptığınız değişikliğin kısa bir açıklamasını yazabilirsiniz. Bu açıklama, geri getirme işlemlerinde size yardımcı olacaktır.

2. git stash list

Bu komut, yapılmış tüm stash işlemlerini listeler. Stash’lerinizi takip etmenizi sağlar ve hangi değişikliklerin kaydedildiğini görmenize yardımcı olur.

git stash list

3. git stash apply

Bu komut, en son yapılan stash’i geri getirir. Kaydettiğiniz değişiklikleri tekrar çalışma alanınıza uygular, ancak stash’i silmez. Bu sayede aynı değişiklikleri birden fazla kez uygulayabilirsiniz.

git stash apply

4. git stash pop

Bu komut, en son yapılan stash’i geri getirir ve aynı zamanda stash’i listeden siler. Yani, “pop” komutuyla yapılan değişiklikler geri alınır ve stash listesi temizlenir.

git stash pop

5. git stash drop

Bu komut, belirli bir stash’i listeden silmek için kullanılır. Yalnızca, o stash’i silmek isterseniz bu komutu kullanabilirsiniz.

git stash drop 

Burada kısmı, listeden seçtiğiniz stash’in kimliğidir. Kimlik numarasını öğrenmek için git stash list komutunu kullanabilirsiniz.

6. git stash clear

Bu komut, tüm stash’leri temizler. Çalışma alanınızda sakladığınız tüm geçici değişiklikler silinir. Bu komut dikkatli kullanılmalıdır, çünkü geri alınamaz.

git stash clear

Git Stash Kullanım Senaryoları

Git stash, yazılım geliştirme sürecinde karşılaşılabilecek pek çok farklı senaryoda kullanışlıdır. İşte bazı yaygın kullanım durumları:

1. Çalışmanızı Kaybetmeden Branch Değiştirme

Yeni bir özellik üzerinde çalışırken, aniden başka bir iş ile ilgilenmeniz gerekebilir. Ancak, üzerinde çalıştığınız değişiklikleri kaybetmek istemezsiniz. Git stash komutu ile bu değişiklikleri geçici olarak saklayarak, başka bir dala geçiş yapabilirsiniz. Daha sonra tekrar aynı dalda çalışmaya devam edebilirsiniz.

2. Değişikliklerinizi Hızlıca Geri Alma

Bir özelliği denediğinizde veya bir değişiklik yaptığınızda, sonradan bu değişikliğin hatalı olduğunu fark edebilirsiniz. Bu durumda, git stash komutunu kullanarak önceki duruma geri dönebilirsiniz.

3. Temiz Bir Çalışma Alanı Oluşturma

Bazen üzerinde çalıştığınız projeyi bir süreliğine bırakmak isteyebilirsiniz. Ancak, kaydetmediğiniz değişiklikler varsa, bunları kaybetmek istemezsiniz. Git stash komutu ile bu değişiklikleri geçici olarak saklayarak, temiz bir çalışma alanı elde edebilirsiniz.

Git Stash İle İlgili İpuçları ve İleri Seviye Kullanım

Git stash kullanırken bazı ileri seviye komutları ve ipuçlarıyla verimliliğinizi artırabilirsiniz. İşte birkaç öneri:

1. Git Stash ve Untracked Dosyalar

Varsayılan olarak git stash komutu, yalnızca takip edilen (tracked) dosyalar üzerindeki değişiklikleri kaydeder. Eğer untracked (takip edilmeyen) dosyalarınız varsa, bunları da saklamak isteyebilirsiniz. Bunun için git stash -u komutunu kullanabilirsiniz.

git stash -u

2. Belirli Bir Dosyayı Stash’leme

Belirli bir dosya üzerinde çalışıyorsanız ve sadece bu dosyayı stashlemek istiyorsanız, dosya adını komuta ekleyebilirsiniz. Bu şekilde yalnızca o dosyadaki değişiklikleri saklayabilirsiniz.

git stash push 

3. Git Stash ve Git Diff

Yaptığınız değişikliklerin önizlemesini görmek isterseniz, git diff komutunu kullanabilirsiniz. Bu komut, stash komutuyla yapılacak değişiklikleri görmeden önce incelemenizi sağlar.

git diff

Sonuç

Git stash, yazılım geliştirme süreçlerinde karşılaşılan değişikliklerin yönetilmesi için oldukça güçlü bir araçtır. Git ile çalışırken projede geçici olarak değişiklik yapmak, başka bir dala geçmek ya da çalışmalarınıza ara vermek gerekebilir. Git stash sayesinde, bu tür durumlarla başa çıkmak daha kolay ve verimli hale gelir. Bu komutun temel işlevlerini ve kullanım senaryolarını öğrendiğinizde, Git ile çalışma süreciniz çok daha düzenli ve verimli olacaktır.

Bu yazı, Git stash kullanımı hakkında kapsamlı bir bilgi sunmayı amaçlamaktadır. Daha fazla bilgi ve Git ile ilgili diğer ipuçları için web sitemizi takip etmeye devam edin.