回答:
二重引用符の代わりに単一引用符を使用する
git commit -am 'Nailed it!'
あるいは、何らかの理由で二重引用符を使用する必要があるが、それでもリテラルが必要な場合!は、スクリプトの上部にある履歴の展開をオフにします。set +H
git commit -am "$FOO: Nailed it"'!'
git commitなかったため、メッセージ用のテキストエディターを開くために(-mを使用しないで)使用しました。
git commit -m "This is the best code ever"!OSRでは、@ Ryan H.の回答で説明されているように使用します。
あなたは二重引用符を使用する必要があるとした場合!、メッセージの最後の文字である、ちょうど保つ!引用符の外にスペースがメッセージに含まれ得るように、我々は唯一の引用符を使用していることから、。
git commit -m "Reverting last commit because I don't like it"!
!中間の文字列を含める必要がある場合は一重引用符を使用できますが、リテラルの単一引用符を使用する必要がある場合は、引用符を閉じてから、'エスケープして文字列の外側に配置する必要があります。たとえば、メッセージがI don't like it! Reverting again!であるとします。これは'I don'+ \'+'t like it! Reverting again!'
git commit -m 'I don'\''t like it! Reverting again!'
これよりも複雑なものは、おそらくgit commitgitでデフォルトのテキストエディターを起動する方がよいでしょう:)
次のように入力することもできます。
git commit -am "Nailed it
!
"
したがって、Enterキーを押して感嘆符を新しい行に配置し、コミットメッセージを閉じてください。ある日偶然見つけた。