Stash

stash

Kadang ada keadaan, dimana kita sedang melakukan perubahan di sebuah branch, namun perubahan nya belum disimpan di Repository, misal masih di Working atau Staging Index.

Lalu kita butuh secepatnya melakukan perubahan di branch lain.

Jika perubahan tersebut belum siap kita commit, kita bisa menyimpan semua perubahan tersebut ke Stash.

Stash adalah sebuah tempat dimana kita bisa menyimpan perubahan di Working atau Staging Index secara sementara agar branch saat ini menjadi bersih kembali, sehingga kita bisa pindah ke branch lain.

Latihan

  • Di branch utama
  • Buat branch baru dengan nama feature/d
  • Di branch utama, buat perubahan di file1.txt, lalu commit
  • Pindah ke branch feature/d
  • Lakukan perubahan file1.txt, tambahkan ke Staging Index
  • Lakukan perubahan file2.txt, biarkan di Working
  • Pindah ke branch utama
buat branch baru dan commit file1 di feature d

file1 staging index dan file2 working directory

Error Ketika Pindah Branch

Secara default, ketika kita melakukan perpindahan branch, Git akan secara pintar membawa perubahan yang terjadi di branch saat ini ke branch tujuan pindah.

Namun jika ternyata terdapat conflict, pada kasus kita, pada file1.txt terdapat conflict, maka secara otomatis kita tidak bisa pindah ke branch tersebut.

error pindah ke branch master

Menyimpan Perubahan ke Stash

Untuk menyimpan semua perubahan yang terjadi di Working dan Staging Index, kita bisa menggunakan Stash.

Untuk menyimpan perubahan ke Stash, kita bisa gunakan perintah : git stash push -m ‘message stash’

Untuk melihat semua Stash, kita bisa gunakan perintah : git stash list

Untuk melihat perubahan yang terjadi di Stash, kita bisa gunakan perintah : git stash show stashId

menyimpan perubahan ke stash

melihat list di stash

melihat perubahan file dengan stash

pindah ke branch lain dan lihat perubahan pada file1

Mengambil Perubahan di Stash

Untuk mengambil perubah di stash, kita bisa gunakan perintah : git stash apply stashId

Untuk menghapus stash, kita bisa gunakan perintah : git stash drop stashId

Untuk menghapus semua stash, kita bisa gunakan perintah : git stash clear

Mengambil Perubahan di Stash

git stash apply idStash

mengambil perubahan dari stash

commit file1 dan file2 ke branch feature d

Menghapus Stash

menghapus stash
Next Post Previous Post
No Comment
Add Comment
comment url