Git, en popüler sürüm kontrol sistemlerinden biridir. Git, bir projede yapılan tüm değişiklikleri takip etmek, farklı dalları birleştirmek ve proje geçmişini yönetmek için kullanılır. Ancak bazen, bir projede birden fazla iş üzerinde çalışırken, mevcut işlemleri tamamlamadan başka bir işe geçmek gerekebilir. Bu durumda "git stash" komutu kullanışlı bir araçtır.
git stash komutu, mevcut değişiklikleri geçici bir alana (yığın) kaydeder. Bu sayede, değişiklikleri kaybetmeden başka bir iş üzerinde çalışabilirsiniz. Daha sonra, geçici olarak kaydedilen değişiklikleri geri yükleyebilirsiniz.
Aşağıdaki örnek, "git stash" komutunu kullanarak bir değişikliği geçici olarak kaydetmek ve daha sonra geri yüklemek için nasıl kullanabileceğinizi göstermektedir:
Öncelikle, bir projede bir değişiklik yapın:
[[reklam]]
$ echo "Hello, world!" > myfile.txt
Daha sonra, git add komutu ile değişikliği stagingley ekleyin:
[[reklam]]
$ git add myfile.txt
Ve "git commit" komutu ile değişikliği kaydedin:
$ git commit -m "Added myfile.txt"
Artık bir başka iş üzerinde çalışmak istiyorsunuz, ancak henüz commit etmeden devam etmek istiyorsunuz. Bu durumda, "git stash" komutunu kullanabilirsiniz:
[[reklam]]
$ git stash save "Work in progress"
Bu komut, mevcut değişiklikleri geçici bir alana kaydedecektir. İsterseniz, "Work in progress" gibi bir açıklama da ekleyebilirsiniz.
Daha sonra, başka bir iş üzerinde çalışabilirsiniz. "git stash list" komutunu kullanarak geçici olarak kaydedilen değişikliklerin bir listesini görebilirsiniz:
[[reklam]]
$ git stash list
stash@{0}: On master: Work in progress
Eğer geçici olarak kaydedilen değişiklikleri geri yüklemek isterseniz, "git stash apply" komutunu kullanabilirsiniz:
[[reklam]]
$ git stash apply
Bu komut, en son kaydedilen değişiklikleri geri yükleyecektir. Eğer birden fazla değişiklik kaydedilmişse, "stash@{0}" gibi bir referans belirtmeniz gerekebilir.
git stash komutu, bir projede birden fazla iş üzerinde çalışırken oldukça kullanışlı bir araçtır. Bu sayede, değişiklikleri kaybetmeden farklı işler üzerinde çalışabilir ve daha sonra geri yükleyebilirsiniz.