Şöyle ki: bulunduğum projede bir takım değişiklikler yapıyorum. Bu değişiklikleri göndermeden önce projenin güncel halini çekmek istiyorum. $git pull komutunu girdikten sonra birde ne göreyim, conflict hatası ile karşı karşıyayım. Benim değişiklik yaptığım yerde daha önceden bir değişiklik olmuş ve bu yüzden bir çakışma mevcut. Bu sorunu halletmenin kısa yolu ise şöyle:
Bu değişiklikleri $git stash diyerek kaydettik.
Tekrar $git status yaptığımızda yerinde yok. Peki nerede?
Tabi ki değişikliklerimiz burada. $git stash list yapılan değişiklikeri "WIP on <branchname>" mesajı ile görüntülüyoruz.
Tekrar değişiklik yapıp bu değişiklikleri kaydetmek istediğimizde $git stash komutunu kullanabiliriz.
stash@{0} ve stash@{1} olmak üzere iki tane değişikliğimiz kaydedilmiş olur. $git stash list çıktısı aşağıdaki gibi olur.
Değişiklikleri geri getirmek için iki komut kullanılır.
$git stash pop stash@{<revision>} ve
$git stash apply stash@{<revision>}
Farkları ise pop değişikliği geri getirdikten sonra listeden siler, apply listeden silmez.
stash@{0} ve stash@{1} olmak üzere iki tane değişikliğimiz kaydedilmiş olur. $git stash list çıktısı aşağıdaki gibi olur.
Değişiklikleri geri getirmek için iki komut kullanılır.
$git stash pop stash@{<revision>} ve
$git stash apply stash@{<revision>}
Farkları ise pop değişikliği geri getirdikten sonra listeden siler, apply listeden silmez.
Kaydedilen değişikliklerin farklarını görmek için: $git stash show -p
Eğer "stash@{0}: WIP on <branchname>" mesajını değiştirmek istiyorsak:
Dosyada değişikliği yaptıktan sonra $git stash save "buraya mesaj gelecek" komutunu yazarak yazılan mesaj ile değişikliği kaydeder. Ekstra $git stash komutunu kullanmamıza gerek yok.
Değişikliği listeden silmek için: $git stash drop stash@{<revision>}
Tüm değişiklikleri silmek için: $git stash clear
Hiç yorum yok:
Yorum Gönder