Git taahhüdü iletisinde komut satırı aracılığıyla bir ünlem işaretinin kullanılması


152

Komut satırından Git yürütme iletisine nasıl bir ünlem işareti girebilirim?

Ünlem işaretinden bir ters eğik çizgi ile kaçmak mümkündür, ancak ters eğik çizgi de taahhüt iletisinde son bulur.

Böyle bir şey istiyorum:

git commit -am "Nailed it!"

6
Bu sorunun neden ilk sırada var olduğu hakkında bir açıklama için: askubuntu.com/questions/434832/…
Mark Amery

Yanıtlar:


226

Çift tırnak yerine tek tırnak kullanın

git commit -am 'Nailed it!'

Alternatif olarak, herhangi bir nedenle çift tırnak kullanmanız gerekiyorsa ancak yine de bir değişmez değer istiyorsanız !, komut dosyanızın üst kısmındaki geçmiş genişletmesini kapatın.set +H


48
Veya sadece alıntılarınızı karıştırın:git commit -am "$FOO: Nailed it"'!'
Cascabel

4
Bu OS X'te benim için işe yaramadı, bu yüzden git commitmesajım için bir metin editörü açmak için (no -m) kullandım.
Kevin C.

OSX'te git commit -m "This is the best code ever"!@Ryan H. yanıtında açıklandığı gibi kullanın .
mljrg

42

O çözmek için başka bir yol, bir eklemektir boşluk sonra ! sevmek:

git commit -am "Nailed it! "

Not boşluk arasına ! ve sonuncusu " .

(Alan, yürütme iletisine dahil edilmez - Git, yürütme iletilerinden gelen boşlukları otomatik olarak keser.)


3
Bu benim için en basit çözüm gibi görünüyor ve değişken enterpolasyonlu çift tırnaklara izin veriyor: git commit -m "$(sillyname) $(buzzphrase). $(superb)! ":)
Alex Hall

4

Bunun yerine hangi alıntıların veya kaçışların olduğunu hatırlamanıza gerek yok

  1. Komutunuzu (veya bir kısmını) yazın
  2. Komut satırınızda Ctr X E» tuşuna basın " harici düzenleyicinizi "açar.
  3. Komutunuzu düzenleyin ve düzenleyicinizi kapatın.

… Komut yürütülür ve özel karakterler Git kesinleştirme mesajında ​​doğru şekilde gösterilir!

(Diğer birçok kullanım: karmaşık komutlar yazma, tamamlama iletinize satır sonları ekleme vb.)


4

Çift tırnak kullanmanız gerekiyorsa !ve iletideki son karakter ise, tırnakların dışını saklayın! , çünkü boşlukların mesaja eklenmesi için yalnızca tırnak işaretleri kullanıyoruz.

git commit -m "Reverting last commit because I don't like it"!

!Orta dize eklemeniz gerekiyorsa , tek tırnak işaretleri kullanabilirsiniz, ancak tek bir tırnak işareti kullanmanız gerekiyorsa, teklifinizi kapatmanız ve ardından 'dizenin dışına kaçarak koymanız gerekir. Diyelim ki mesajınız I don't like it! Reverting again!, bu 'I don'+ \'+ ile oluşturulabilir't like it! Reverting again!'

git commit -m 'I don'\''t like it! Reverting again!'

Bundan daha karmaşık bir şey varsa, muhtemelen git commitgit ve varsayılan metin düzenleyicinizi çağırmasına izin verme :)


1

Ayrıca şunu da yazabilirsiniz:

git commit -am "Nailed it
!
"

Bu yüzden enter tuşuna basın ve ünlem işaretini yeni bir satıra yerleştirin, ardından taahhüt mesajını kapatın. Bunu bir gün kazara buldum.


6
Bu, ünlem işaretinden önce hazır bilgi satırını çirkin olan taahhüt iletisine ekler. -1.
Mark Amery

-3

Hmm. Bir eğik çizgi ile kaçmak benim için kesin mesajda görünmüyor.

git commit -m "Nailed it\!"
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.