Git Stash Ustası Olmak: Geliştiriciler İçin Etkili Değişiklik Yönetimi
Git stash gücünden yararlanarak iş akışınızı düzene sokmayı, hataları azaltmayı ve verimliliği artırmayı öğrenin
Geliştirici olarak kod tabanınızdaki değişiklikleri yönetmek göz korkutucu bir görev olabilir. Birden fazla özellik, dal ve işbirlikçisi ile çalışırken kaos içinde kaybolmak kolaydır. İşte burada Git stash devreye giriyor. Değişikliklerinizi geçici olarak kaydetmenizi, dallar arasında kolayca geçiş yapmanızı ve iş akışınızı yönetmenizi sağlayan güçlü bir araç. Bu yazıda Git stash nedir, ne işe yarar, nasıl kullanılır ve en iyi uygulamalar nelermiş inceleyeceğiz.
Git Stash Nedir?
Git stash, geliştiricilerin çalışma dizininin ve indeksin (staging area) mevcut durumunu geçici olarak kaydetmesine olanak tanıyan bir özelliktir. Değişiklikleri depo geçmişine kaydetmeden bu işlemi gerçekleştirir. Yani, üzerinde çalıştığınız işi tamamlamadan kaydedebilir, başka bir dala veya göreve geçiş yapabilir ve daha sonra yaptığınız değişikliklere geri dönebilirsiniz.
Git Stash Nasıl Çalışır
Git stash komutunu çalıştırdığınızda Git, çalışma dizininiz ve indeksinizde yaptığınız değişiklikleri içeren yeni bir stash oluşturur. Bu stash, deponuzun ayrı bir alanında saklanır ve böylece mevcut çalışmanızı etkilemeden başka bir dala veya göreve geçiş yapabilirsiniz.
Git Stash Avantajları
Peki, neden Git stash kullanmalıyız? İşte bazı avantajları:
- Devam eden çalışmayı kaydetme: Git stash, tamamlanmamış olan çalışmanızı kaydetmenizi sağlar. Böylece başka bir dala veya göreve geçiş yaparken kaybolmazsınız.
- Dallar arasında geçiş yapma: Git stash sayesinde mevcut çalışmanızı etkilemeden dallar arasında kolayca geçiş yapabilirsiniz. Bu sayede birden fazla özellik üzerinde eş zamanlı olarak çalışmak daha kolay hale gelir.
- Hata oranını azaltma: Değişiklikleri geçici olarak kaydederek, dallar arasında geçiş yaparken hata ve çakışma riskini azaltabilirsiniz.
- Verimliliği artırma: Git stash, kaybolma endişesi taşımadan o anki görevinize odaklanmanıza yardımcı olur.
Git Stash Kullanım Alanları
Peki, ne zaman Git stash kullanmalıyız? İşte bazı yaygın kullanım alanları:
- Devam eden çalışmayı kaydetme: Başka bir dala veya göreve geçerken devam eden çalışmanızı kaydetmek için Git stash kullanın.
- Çalışma dizinini temizleme: Sıfırdan yeni bir özelliğe başlarken çalışma dizinini temizlemek için Git stash kullanın.
- Farklı yaklaşımları deneme: Mevcut çalışmayı kaybetmeden farklı yaklaşımları denemek için Git stash kullanın.
- Birleştirme çakışmalarını çözme: Birleştirme çakışmalarını çözerken değişiklikleri geçici olarak saklamak için Git stash kullanın.
- Kısmi saklama: Belirli dosyaları veya dosya parçalarını saklamak için Git stash kullanın.
- Birden fazla özellik üzerinde çalışma: Eş zamanlı olarak birden fazla özellik üzerinde çalışmak için Git stash kullanın.
- Kaydedilmemiş çalışmayı yedekleme: Kaydedilmemiş çalışmayı başka bir dala veya uzak depoya yedeklemek için Git stash kullanın.
- Meslektaşların kodunu gözden geçirme: Kaydedilmemiş değişiklikleri kaybetmeden meslektaşların kodunu gözden geçirmek için Git stash kullanın.
Stash Oluşturma ve Yönetme
Peki, stash nasıl oluşturulur ve yönetilir? İşte temel bilgiler:
- Yeni bir stash oluşturma: Yeni bir stash oluşturmak için
git stash
veyagit stash push
komutlarını kullanın. - Açıklayıcı bir isim ile stash oluşturma: Açıklayıcı bir isim ile stash oluşturmak için
git stash save "açıklayıcı mesaj"
komutunu kullanın. - Tüm mevcut stashleri görüntüleme: Mevcut tüm stashleri görüntülemek için
git stash list
komutunu kullanın. - Stashleri uygulama ve kaldırma: Stashleri uygulamak ve kaldırmak için
git stash apply
vegit stash drop
komutlarını kullanın.
Stash İsimlendirme En İyi Uygulamaları
Stash isimlendirirken açıklayıcı ve özlü isimler kullanmak önemlidir. İşte en iyi uygulamalardan bazıları:
- Açıklayıcı ve özlü isimler kullanın: Stashin amacını doğru bir şekilde tanımlayan isimler kullanın.
- İş veya bilet numarasını dahil edin: Stashin amacını takip etmeye yardımcı olması için iş veya bilet numarasını dahil edin.
- Stashin amacını tanımlayın: Başkalarının bağlamını anlamasına yardımcı olması için stashin amacını tanımlayın.
- Devam eden işler için
WIP:
ile önek ekleyin: Devam eden işler için stash isminin başınaWIP:
ekleyin. - İlgili ise dal ismini dahil edin: Stash belirli bir dala özgü ise dal ismini dahil edin.
- Zaman duyarlı görevler için zaman damgası kullanın: Özellikle zaman duyarlı görevler için stashin oluşturulduğu zamanı belirtmek üzere zaman damgası kullanın.
- İsimlendirme konvansiyonları hakkında takımı bilgilendirin: Takımı isimlendirme konvansiyonları hakkında bilgilendirerek tutarlılığı sağlayın.
Git Stash Kullanım En İyi Uygulamaları
Git stash kullanırken etkili değişiklik yönetimi için en iyi uygulamaları takip etmek önemlidir. İşte bazı en iyi uygulamalar:
- Stash kullanın ama az kullanın: Stash kullanın ama az kullanın. Uzun süreli devam eden işler için özel dallar tercih edin.
- Takip edilmeyen dosyaları stashleyin: Veri kaybı riskini azaltmak için takip edilmeyen dosyaları da stashleyin.
- Eski stashleri düzenli olarak gözden geçirin ve temizleyin: Dağınıklığı önlemek için eski stashleri düzenli olarak gözden geçirin ve temizleyin.
git stash pop
yerinegit stash apply
kullanın: Otomatik olarak kaldırma ve potansiyel birleştirme çakışmalarını önlemek içingit stash apply
kullanın.- Değişiklikleri mümkün olan en kısa sürede yapın: Değişiklikleri mümkün olan en kısa sürede yapın ve tamamlandığında depoya kaydedin.
Gelişmiş Stash Seçenekleri
Git stash, iş akışınızı daha etkili bir şekilde yönetmenize yardımcı olacak birkaç gelişmiş seçenek sunar. İşte bazıları:
- İndeksi koruma seçeneğini kullanın: Tüm sahnelenmiş içeriği stash içine dahil edip indeksi korumak için
--keep-index
seçeneğini kullanın. - Takip edilmeyen dosyaları stashleyin: Takip edilen dosyalar ile birlikte takip edilmeyen dosyaları da stashleyin.
- Takip edilmeyen dosyaları dahil edin: Takip edilmeyen dosyaları stash içine dahil etmek için
git stash --include-untracked
veya kısacagit stash -u
komutlarını kullanın.
Sonuç
Sonuç olarak, Git stash geliştiricilerin değişikliklerini daha verimli bir şekilde yönetmesine yardımcı olan güçlü bir araçtır. Özelliklerini ve en iyi uygulamalarını anlayarak iş akışınızı düzene sokabilir, hataları azaltabilir ve verimliliği artırabilirsiniz. Stashlerinize açıklayıcı ve özlü isimler verin, takip edilmeyen dosyaları stashleyin ve eski stashleri düzenli olarak gözden geçirip temizleyin. Git stash ile iş akışınızı kontrol altına alabilir ve en önemli şeye odaklanabilirsiniz: Harika kodlar yazmak.
Kaynaklar
- [1] https://refine.dev/blog/git-stash/
- [2] https://graphite.dev/guides/best-practices-naming-stashes-git
- [3] https://people.computing.clemson.edu/~jmarty/courses/commonCourseContent/common/progit.pdf
- [4] https://www.ninjaone.com/blog/what-is-git-stash/
- [5] https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning
Last modified: Mayıs 21, 2025