Dalam kasus rebase masa lalu yang tidak Anda batalkan dengan benar, Anda sekarang (Git 2.12, Q1 2017) memiliki git rebase --quit
Lihat komit 9512177 (12 Nov 2016) oleh Nguyễn Thái Ngọc Duy ( pclouds) .
(Digabung oleh Junio C Hamano - gitster- dalam komit 06cd5a1 , 19 Des 2016)
rebase: tambahkan --quitke pembersihan rebase, biarkan semuanya tidak tersentuh
Ada saat-saat ketika Anda memutuskan untuk membatalkan rebase yang sedang berlangsung dan melanjutkan untuk melakukan sesuatu yang lain tetapi Anda lupa untuk melakukan " git rebase --abort" pertama . Atau rebase telah berlangsung begitu lama sehingga Anda lupa. Pada saat Anda menyadari bahwa (misalnya dengan memulai rebase lain) sudah terlambat untuk menelusuri kembali langkah Anda. Solusinya biasanya
rm -r .git/<some rebase dir>
dan lanjutkan dengan hidup Anda.
Tetapi mungkin ada dua direktori berbeda untuk <some rebase dir>(dan itu jelas membutuhkan pengetahuan tentang bagaimana rebase bekerja), dan bagian " .git" bisa lebih lama jika Anda tidak berada di top-dir, atau di worktree yang terhubung. Dan " rm -r" sangat berbahaya untuk dilakukan .git, kesalahan di sana dapat menghancurkan basis data objek atau data penting lainnya.
Berikan " git rebase --quit" untuk kasus penggunaan ini, meniru contoh " git cherry-pick --quit".
Sebelum Git 2.27 (Q2 2020), entri simpanan yang dibuat oleh " git merge --autostash" untuk menjaga keadaan kotor awal dibuang karena kesalahan " git rebase --quit", yang telah diperbaiki.
Lihat komit 9b2df3e (28 Apr 2020) oleh Denton Liu ( Denton-L) .
(Digabung oleh Junio C Hamano - gitster- di commit 3afdeef , 29 Apr 2020)
rebase: simpan entri autostash ke stash reflogdalam--quit
Ditandatangani oleh: Denton Liu
Dalam a03b55530a (" merge: teach --autostash option", 2020-04-07, Git v2.27.0 - gabung yang terdaftar di batch # 5 ), --autostashopsi ini diperkenalkan untuk git merge.
(Lihat " Bisakah" git pull"secara otomatis menyimpan dan memunculkan perubahan yang tertunda? ")
Khususnya, ketika git merge --quitdijalankan dengan hadiah entri autostash, itu disimpan ke dalam simpanan simpanan.
Ini kontras dengan perilaku saat ini di git rebase --quitmana entri autostash hanya hilang begitu saja.
Terapkan perilaku git merge --quitmasuk git rebase --quitdan simpan entri autostash ke simpanan simpanan alih-alih dihapus saja.