Saya telah menggunakan git stash pop
cukup lama. Saya baru-baru tahu tentang git stash apply
perintah. Ketika saya mencobanya, sepertinya berhasil sama git stash pop
.
Apa perbedaan antara git stash pop
dan git stash apply
?
git stash pop
membuang simpanan (paling atas, secara default) setelah menerapkannya, sedangkan git stash apply
menyimpannya di daftar simpanan untuk kemungkinan nanti digunakan kembali (atau Anda dapat melakukannya kemudian git stash drop
).
Ini terjadi kecuali jika ada konflik setelahnya git stash pop
, dalam hal ini tidak akan menghapus simpanan, membiarkannya berperilaku seperti itu git stash apply
.
Cara lain untuk melihatnya: git stash pop
adalah git stash apply && git stash drop
.
git stash pop
hasil, Anda masih akan mendapatkan kesalahan konflik.Dapatkan tautan bermanfaat ini yang menyatakan perbedaannya, seperti yang dinyatakan John Zwinck dan kekurangannya
git stash pop
.Tautan: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
sumber
git stash pop
menerapkan elemen simpanan teratas dan menghapusnya dari tumpukan.git stash apply
melakukan hal yang sama, tetapi meninggalkannya di tumpukan simpanan.sumber
Melihatnya dalam tindakan mungkin membantu Anda lebih memahami perbedaan.
Dengan asumsi kami sedang mengerjakan
master
cabang dan memiliki filehello.txt
yang berisi string "Halo".Mari kita modifikasi file dan tambahkan string "world" ke dalamnya. Sekarang Anda ingin pindah ke cabang lain untuk memperbaiki bug kecil yang baru saja Anda temukan, jadi Anda perlu melakukan
stash
perubahan:Anda pindah ke cabang lain, memperbaiki bug dan sekarang Anda siap untuk terus bekerja di
master
cabang Anda , sehingga Andapop
berubah:Sekarang jika Anda mencoba meninjau konten simpanan Anda akan mendapatkan:
Namun, jika Anda menggunakan
git stash apply
sebaliknya, Anda akan mendapatkan konten simpanan tetapi Anda juga akan menyimpannya:Jadi
pop
sama seperti tumpukan pop - itu benar-benar menghapus elemen begitu muncul, sementaraapply
lebih seperti mengintip .sumber
In
git
simpanan adalah area penyimpanan tempat file yang diubah saat ini dapat dipindahkan.stash
area berguna ketika Anda ingin menarik beberapa perubahan darigit
repositori dan mendeteksi beberapa perubahan dalam beberapa file bersama yang tersedia digit
repo.sumber
Git Stash
Pop vs apply
BekerjaJika Anda ingin menerapkan perubahan simpanan teratas Anda untuk perubahan yang tidak dipentaskan saat ini dan menghapus simpanan itu juga, maka Anda harus melakukannya
git stash pop
.Tetapi jika Anda ingin menerapkan perubahan simpanan teratas Anda ke perubahan tidak dipentaskan saat ini tanpa menghapusnya, maka Anda harus melakukannya
git stash apply
.sumber