Git Stash Komutu ile Değişiklikleri Geçici Olarak Kaydetme ve Geri Yükleme

04 Nisan 2023 250 Okuma süresi: 2 dakika

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:

$ echo "Hello, world!" > myfile.txt

Daha sonra, git add komutu ile değişikliği stagingley ekleyin:

$ 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:

$ 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:

$ 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:

$ 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.