Menu
CoddyTech

Git Stash

Terakhir diperbarui

git stash menyisihkan perubahanmu yang belum di-commit dan mengembalikan working tree ke keadaan bersih, sehingga kamu bisa pindah branch atau pull tanpa harus commit pekerjaan yang setengah jadi. Perubahan itu masuk ke sebuah tumpukan yang bisa kamu terapkan lagi nanti dengan git stash pop (terapkan lalu hapus) atau git stash apply (terapkan dan simpan).

Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.

git stash menyimpan perubahan yang belum di-commit ke dalam tumpukan dan membersihkan working tree; pop mengembalikannya nanti.

Sintaks

PerintahFungsinya
git stashMenyisihkan perubahan pada file yang dilacak, membersihkan working tree
git stash -uJuga melakukan stash pada file untracked
git stash push -m "msg"Stash dengan pesan yang deskriptif
git stash push <file>Stash satu file tertentu saja
git stash listMenampilkan semua stash
git stash popMenerapkan lagi stash terbaru lalu menghapusnya
git stash applyMenerapkan lagi stash terbaru, tetap menyimpannya
git stash dropMenghapus stash terbaru
git stash clearMenghapus semua stash

pop vs apply

Perilakugit stash popgit stash apply
Menerapkan lagi perubahanYaYa
Menghapus stash setelahnyaYaTidak
Cocok untuk memakai ulang stashTidakYa

Pertanyaan seputar git stash

Apa fungsi git stash?
Perintah ini menyimpan perubahanmu yang belum di-commit ke sebuah tumpukan dan mengembalikan working tree ke commit terakhir, sehingga kamu mulai dari keadaan bersih. Perubahanmu tidak hilang: hanya disisihkan dan bisa diterapkan lagi nanti dengan git stash pop atau git stash apply. Praktis saat kamu perlu pindah branch tapi belum siap commit.
Apa bedanya git stash pop dan git stash apply?
Keduanya menerapkan lagi stash terbarumu ke working tree. git stash pop juga menghapus stash itu dari tumpukan setelahnya, sedangkan git stash apply membiarkannya tetap di tumpukan supaya bisa kamu terapkan lagi di tempat lain. Pakai pop untuk pemulihan sekali jalan, apply kalau kamu ingin memakai ulang stash-nya.
Apakah git stash menyertakan file untracked?
Tidak secara default: git stash biasa hanya menyisihkan file yang dilacak (yang diubah). Tambahkan -u (git stash -u) untuk menyertakan file untracked, atau -a untuk juga menyertakan file yang di-ignore. Tanpa flag itu, file baru yang belum kamu git add tetap ada di working tree.
Bagaimana cara menerapkan stash tertentu?
Jalankan git stash list untuk melihat stash yang bernomor seperti stash@{0}, stash@{1}, lalu git stash apply stash@{1} (atau pop) untuk menerapkan stash tertentu. Setiap stash juga menampilkan branch dan pesan saat dibuat, jadi kamu bisa membedakannya.
Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan git stash di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara mengelola pekerjaan yang sedang berjalan langkah demi langkah.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai