Etkileşimli düzenleme sırasında bir git rebase'i vim içinden iptal etme


138

Etkileşimli bir yeniden ödeme yaptığımda, ör.

git rebase -i HEAD~3

Rebase etkileşimli editörü (benim durumumda vim), rebase taahhütlerini düzenlememe izin vermek için açılıyor

pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....

Şimdi rebase iptal etmek istiyorum ve rebase kullanarak vim çıkmak istiyorum :qyine de başlar. 1.9.0.msysgit.0Windows'ta git sürümünü kullanıyorum .

Elbette tüm picksatırları silebilirim , ancak daha uzun bir geçmişi yeniden adlandırırsam yapacak çok şey olabilir. Başka bir yol var mı?

Rebase interaktif düzenleyicisinden (vim) nasıl çıkabilir ve rebase'i nasıl iptal edebilirim?


Not Defteri gibi farklı bir düzenleyici kullanmayı tercih eder misiniz? Eğer öyleyse, bunun için bir çözümüm var
Steven Penny

5
git rebase --abort
vanduc1102

@ vanduc1102 Benim için çalışıyor, bir cevap olsaydı!
C Bauer

Yanıtlar:


258

Editörden bir hata kodu ile çıkarsanız, rebase iptal edilir.

Vim'de bir hata koduyla çıkmak için şunu yapın:

:cq

Bkz burada ve vimdoc burada .


6
Daha az yazarak, aynı sonuç
Zach Posten

44

Dosyadan yorum olmayan tüm satırları silmeniz yeterlidir. Ardından varsayılan olarak sağlanan yola kaydedin ve editörden çıkın.

Sonuç olarak git sadece bu rebase hiçbir şey yapmaz.

Vim'deki tüm satırları silmek için

:%d|x

Sonra kaydedin ve çıkın.

Vim'deki tüm dosya satırlarını sil

Vim editöründen nasıl çıkılır?

VIM - aynı satırda birden fazla komut


bu birleştirme taahhütleri için geçerli değildir. en az bir birleştirme taahhüdü eklemek ve sonucu orijinal durumla karşılaştırmak için etkileşimli yeniden oluşturma işlemini deneyin.
Mladen

9

Örneğin, Windows'ta Notepad ++ kullanıyorsanız:

CtrlAher şeyi seçmek için, sonra Delveya Backspacesilmek ve CtrlSkaydetmek için. Dosya boşsa Git rebase'i iptal eder.

Ayrıca vurabilir CtrlCgit akım Rebase komutunu durdurmak için çalıştığı komut isteminde. Sonra git rebase --abortgeri dönmek için koş .


vim veya başka bir editör kullanıyor olsanız da, bu sorunu çözmenin genel yolu budur. çok teşekkürler! :)
Mladen

3

Metin düzenleyici ekranınızdaki tüm metni silin ve ardından dosyayı varsayılan olarak sağlanan yolla kaydedin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.