VI ekranda bir yürütme mesajı beklerken Git komutunu nasıl durdurabilirim?


203

Git'e git bash içinden bir taahhütte bulunmasını rica ettim, VI'yı her zaman olduğu gibi getirdi.

Şimdi taahhüdü iptal etmek istiyorum, taahhüdün bu noktadan devam etmesini nasıl önleyebilirim?


Vim'e giriş yapmadan önce Esc'e basmanız gerektiğini eklemeye değer :q!.
M_Merciless

Yanıtlar:


332

İki seçeneğiniz var:

  • Boş bir taahhüt mesajı sağlayın. Bu yeni bir taahhütse ve mesajı henüz :q!kaydetmediyseniz , sadece (kaydetmeden çık) seçeneğini kullanabilirsiniz. Daha önce kaydettiyseniz (veya önceki bir taahhüdü değiştiriyorsanız), tüm günlük mesajını silin ve tekrar kaydedin. Bu Vim'de ggdG+ ile yapılabilir :wq.

  • Editörden sıfır dışında bir çıkış koduyla çıkmasını sağlayın. Vim'de kullanabilirsiniz :cq(bir hata kodu ile çıkın).

Çalışma kopyanızı her zaman taahhütten önceki durumuna sıfırlayabileceğinizi belirtmek gerekir git reset HEAD^.


96
: cq iştir. Neden olursa olsun git ne olursa olsun git pulluklar: q!
Aralık'ta Sirex

2
git reset HEAD ^ yerel değişiklikleri
atacak

2
: q! muhtemelen işe yaramıyor çünkü önceden tanımlanmış bir mesaj var.
Papipo

Hıçkırık: Daha git reset HEAD^fazlasını isterse, kabuğunuz ^ satır devamı olarak yorumlanabilir. Deneyin git reset "HEAD^", git reset HEAD^^ya git reset HEAD~1onun yerine bu Yanıt başına: stackoverflow.com/questions/14203952/git-reset-asks-more
Jake Stevens-Haas

77
  • :q!bir taahhütte değişiklik yaparken çalışmaz. Taahhüt iletisini güncellemez, ancak değişikliği yürütür :-(
  • :cq değişikliği tamamen iptal eder.

1
Keşke bir +1 daha ekleyebilseydim. Değişikliğimin yanlış taahhüdü ele geçirdiği zamanların çoğunda buradaydım.
Wyrmwood

8

Sonuç olarak:

  • Yeni bir taahhüt oluştururken (yani git commit) kullanmayı bırakın :q!.
  • Tadil zaman (yani git commit --amend) mesajı (sadece ilk birkaç satır işlemek kaldırmak değil v tutan ve seçmek için ok tuşlarını kullanarak ve ardından Sil düğmesine basarak örneğin bir # ile başlayan). Değişiklikleri uygulamak için ile çıkın:wq ! Kullanırsanız :q!değişiklikler kaybolacak ve önceki tamamlama mesajı kullanılacaktır.

VIM'i kullanırken her iki durumda da çıkmak uygun olur :cq- VIM bir hata kodu ile sonlanır ve taahhüt iptal edilir.

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.