Vim ile Git commit mesajı girme ile ilgili sorunlar


149

İşletim Sistemi: Windows

yazıyorum

$ git commit

sonra

"# Lütfen kaydetme mesajını girin"

Gibi bir metin yazıyorum

"Form doğrulama eklendi"

Enter'a basın ve işleme alınmadı. Sonra Shift + Enter, Ctrl + Enter, Alt + Enter tuşlarına basıyorum - hala işleme alınmadı.

Aptalca bir sorun olduğunu düşünüyorum ama ne yapmalıyım?


Sorun değil. Ancak, bu tür programlama dışı sorular için daha çok konu üzerine olan Süper Kullanıcı'da sorunuz muhtemelen daha çok dikkat çekecektir: superuser.com/questions/tagged/git
bzlm

Yanıtlar:


237

Windows için VIM ise, aşağıdakileri yapabilirsiniz:

  • sunulan yönergeleri izleyerek mesajınızı girin
  • Basın EscEğer ekleme modundan olduğundan emin olmak için
  • sonra :wqEnterveya yazın ZZ.

VIM'de genellikle bir şeyi yapmanın birkaç yolu olduğunu unutmayın. Burada ufak bir fark var. :wqEnterhep birlikte, kapatmadan önce Geçerli dosyayı yazar ZZ, :xEnter, :xiEnter, :xitEnter, :exiEnterve :exitEnterbelge ise sadece yazmak modifiye .
Tüm bu eşanlamlıların sadece farklı sayıda tuşa basılması vardır.



1
Ben girdiğinizde :wqben mesajı aşağıdaki bkz ".git / COMMIT_EDITMSG" 54L, 2316C yazılı durduruluyor mesajı işlemek boşaltmak nedeniyle taahhüt.
kanna

1
Bir mesaj eklediğinizden emin olun. İstendiğinde "mesajım buraya" gibi bir şey yazın (--insert moduna gireceksiniz - bırakmak için esc tuşuna bastığınızı varsayıyorum). İşiniz bittiğinde ve ekleme modundan çıktıktan sonra, 'ZZ' (büyük ZZ) yazın
Kpmurphy91

23
Neden, bunu kim buldu? : wq Enter veya ZZ çılgınca geliyor.
dezman

1
iMesaj metnini ekleme başlatmak için komut son derece yararlı oldu. Bunun için @ Matt Greer'e teşekkürler. Bu cevap, adımların geri kalanı için iyiydi.
ps2goat

47

Msys git kullandığınızı varsayıyorum. Eğer öyleyseniz, commit mesajınızı yazmak için açılan düzenleyici vim'dir. Vim ilk başta arkadaşça davranmıyor. Farklı bir düzenleyiciye geçmeyi tercih edebilirsiniz. Farklı bir düzenleyici kullanmak istiyorsanız, şu cevaba bakın: Notepad ++ 'yı (veya diğerini) msysgit ile nasıl kullanırım?

Vim kullanmak istiyorsanız i, mesajınızı yazmak için yazın. Mutlu olunca ESC'yi vur. Sonra yazın :wqve git mutlu olacak.

Ya git commit -m "your message here"da editörü tamamen atlamak için sadece yazın .


16
Vim hiç arkadaşça oldu mu Yoksa insanlar onun samimiyetsizliğine alışıyor mu?
Ryan Lundy

8
Nasıl çalıştığını anladığınızda vim arkadaş canlısıdır. Aslında çok mantıklı ve iyi düşünülmüş.
Matt Greer

Kaydetme mesajında ​​kaçmayı gerektiren karakterleri (örneğin kesme işaretleri) kullanmak istersem, her zaman vim düzenleyicisini kullanırım çünkü bu çok daha az can sıkıcıdır. Aksi takdirde, hemen hemen her zaman commit mesajını commit komutunun bir parçası olarak yazarım.
David DeMar

Bir commit mesajını değiştirmeniz gerektiğinde bu harika
shinzou

15

Gitmeyi denediniz mi: git commit -m "Mesaj buraya"

Yani senin durumunda:

git commit -m "Form validation added"

Elbette dosyalarınızı ekledikten sonra.


1
Senin varyantın iyi. Ama yazdığım gibi gitmek istiyorum (google Translator)
aTei

Merak etmeyin, bu komuttan sonra bir editör olduğunu unuttum. -M "Mesaj" olmadan nadiren git commit yapıyorum
Tony

1

Genellikle, commit mesajınızı düzenlemeniz için git commit(Linux ve muhtemelen Cygwin üzerinde, $EDITORortam değişkeninizin içeriğine göre belirlenen) etkileşimli bir düzenleyici açar. Kaydedip çıktığınızda, commit tamamlanır.

Kaydetmeye çalıştığınız değişikliklerin Git dizinine eklendiğinden emin olmalısınız; bu neyin taahhüt edileceğini belirler. Bununla ilgili ayrıntılar için http://gitref.org/basic/ adresine bakın .


0

Yorum karakterini bunun gibi # dışında bir şeye değiştirebilirsiniz:

git config --global core.commentchar "@"
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.