Bir daldaki indexlenmiş olan bazı dosya veya klasor içeriklerinin eski olduğunu biliyorsunuz ve yenilerini diğer daldan almak istiyorsunuz. Bu işlem için git stash kullanılır. Daha fazla bilgi için git stash linkini tıklayın.


Mevcut durumu kontrol edelim


inanzzz@inanzzz:~/project$ git branch
branch-one
* branch-two
develop
inanzzz@inanzzz:~/project$ git status
On branch branch-two
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

new file: dir-one/hello_one.txt
modified: file_one.txt
deleted: file_seven.txt
modified: file_two.txt

Değişiklikleri kaydet


Herhangi bir kaybımız olmasın diye değişiklik durumunu kaydediyoruz.


inanzzz@inanzzz:~/project$ git stash save
Saved working directory and index state WIP on branch-two: a08b95e First commit in branch-two branch
HEAD is now at a08b95e First commit in branch-two branch
inanzzz@inanzzz:~/project$ git status
On branch branch-two
nothing to commit, working directory clean

Diğer brancha geçiş


Değişiklikleri transfer etmek istediğimiz brancha geçiyoruz.


inanzzz@inanzzz:~/project$ git checkout branch-one 
Switched to branch 'branch-one'
inanzzz@inanzzz:~/project$ git status
On branch branch-one
nothing to commit, working directory clean

Değişiklikleri transfer etmek


Çakışmaları düzelttikten sonra işlem bitmiş olacak.


inanzzz@inanzzz:~/project$ git stash apply
Auto-merging file_two.txt
CONFLICT (content): Merge conflict in file_two.txt
Removing file_seven.txt
Auto-merging file_one.txt
CONFLICT (content): Merge conflict in file_one.txt

Mevcut durumu kontrol edelim


inanzzz@inanzzz:~/project$ git status
On branch branch-one
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

new file: dir-one/hello_one.txt
deleted: file_seven.txt

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)

both modified: file_one.txt
both modified: file_two.txt