Git stash berfungsi untuk menyimpan perubahan di penyimpanan kotor atau menyimpan semua progress yang sudah dikerjakan sejak commit terakhir tanpa melakukan commit baru untuk state itu sendiri. Kasus pengunaan git stash biasanya terjadi ketika kita bekerja dengan suatu fitur/branch, namun tiba-tiba ada pekerjaan mendadak di branh lain yang mengharuskan kita untuk switch branch saat itu juga. Belum bisa melakukan commit karena fitur yang dikerjakan belum selesai, maka kita bisa memanfaatkan git stash untuk menyimpan sementara perubahan lalu switch ke branch lain. Pada saat kita sudah selesai dengan perbaikan mendadak tadi, kita bisa switch ke branch semula dan memanfaatkan git stash untuk mengembalikan perubahan yang telah dilakukan diawal.
Cara menggunakannya hanya dengan menjalankan perintah git stash

Selanjutnya jalankan perintah git stash list
untuk melihat daftar stash yang ada

Setelah perubahan disimpan di stash, kita dapat pindah branch lain untuk tanpa melakukan commit terlebih dahulu untuk menyimpan perubahan yang mungkin belum selesai. Kemudian saat kita akan kembali ke branch semula, kita bisa menjalankan perintah git stash apply [stash]
atau git stash pop [stash].
Kedua perintah ini akan menerapkan kembali perubahan yang sebelumnya kita simpan dengan perintah git stash, perbedaanya ketika apply akan menerapkan perubahan tanpa menghapusnya dari stash list, sedangkan pop akan menghapusnya. Argumen [<stash>] diisi dengan nomor identitas stash pada stack yang ditunjukkan pada stash list di atas. Format penulisan ID stash mengikuti apa yang dituliskan pada output stash list, misal $ git stash apply/pop stash@{1}
. Jika tidak diberi argumen, git akan menggunakan stash default dari paling atas stack: stash@{0}.
Kita juga bisa menjalankan perintah git stash show [<stash>]
untuk melihat perubahan apa saja yang sudah dilakukan pada stash tertentu. Jika tidak ada argumen [<stash>]
maka git akan menampilkan perubahan dari stash teratas
Sumber:
- https://git-scm.com/docs/git-stash