Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Git stash nedir?

Açık 1 Cevaplar 217 Gösterim Genel Kavramlar
Git kullanırken geçenlerde bir yerde git stash kullanmak zorunda kaldım ama tam olarak ne anlama geldiğini anlamadığım için soruyu sormak istedim.

Git stash nedir açıklayabilir misiniz?

1 cevap

2

Özetle lokalde yapilan degisiklikleri commitlemeden saklamak denilebilir.

"git stash" yazarsiniz ve lokalinizde yapiginiz degiklikler stash olarak kaydedilir. "git stash pop" yazarsiniz kaydedilen degisiklikler geri gelir kaldiginiz yerden devam edersiniz.

Bir senaryo ile aciklamak daha ögretici olacaktir:

Senaryo:

  • Iki adet yapilacak is var: Ticket-01 ve Ticket-02.
  • Siz localde Ticket-01 ile ilgili bir takim degisiklikler yaptiniz.
  • Fakat o da ne! Ticket-02 yi acilen yapip Ticket-01 den önce commitlemeniz gerekiyor/isteniyor.
  • Lakin siz o arada Ticket-01 ile ilgili de birsürü kod yazdiniz ve onlari cöpe atmak istemiyorsunuz.

Cözüm:

  • Ticket-01 ile ilgili degisiklikleri stashleyerek saklamak.
  • Ticket-02 ile ilgili degisikleri yapip commitlemek.
  • Ticket-01 de ki stashinizi geri cagirmak ve Ticket-01 e kaldiginiz yerden devam etmek.


Nasil?

  1. git stash
  2. git commit -am "Ticket-02 ile ilgili degisiklikler yapildi"
  3. git stash pop
  1.  //Ticket-01 ile ilgili degisiklikleriniz stash olarak kaydedildi. Artik lokalinizde hic bir degisiklik yok, Ticket-02 icin hazir.
  2.  //Ticket-02 ile ilgili degisiklikleri yapip commitlediniz. Gerekiyorsa remote repositorye pushladiniz.
  3. ​ //Ticket-01 ile ilgili yaptiginiz degisiklikler geri geldi. Artik kaldiginiz yerden devam edebilirsiniz.
     
(108 puan)
2Yorumlar
(2k puan)
git stash repoya kodu atmıyor yani göndermiyor, sadece localimizde geçici olarak bir yerde duruyor silinmeden doğru mu? Ya diyelim ki bilgisayara format atacağız ya da 2,3 ay çalıştık ama bitmedi proje. ama bilgisayara bişi olursa diye korkuyorum, repoda olması daha sağlıklı olmaz mıydı diye düşünüyorum.
(108 puan)
Stashleri sadece gerektiginde yani yukaridaki senaryodaki gibi durumlarda kullanmanizi öneririm. Cok fazla stash biriktirmeyin, takibi zor olacaktir.

Sizin bahsettiginiz senaryoda yani olan 2-3 aylik bir calismada mantikli olan belirli araliklarla commit yapmak ve bunlari remote repoya push etmek olacaktir.