2011-12-06 17 views
14

可能性の重複をコミット:
How do I enter an exclamation point into a git commit message from the command line?"!"を追加できません。私はgitでのシンボルのメッセージ

私はgitのに新たなんだ、と私は、このコマンドをした:

git commit -m "First Commit!" 

これは、エラーがスローされますこのように:

bash: !": event not found 

このエラーはなぜ発生しますか?それはGitで、私はcommit!シンボルを使用すべきではないですか?

私は使用しないでください、またはエスケープシーケンスでエスケープする必要がある他のシンボルはありますか?

+3

あなたは、これは便利かもしれませんします。http: //superuser.com/questions/133780/in-bash-how-do-i-escape-an-exclamation-mark。 –

+0

申し訳ありません "Git added!"と検索しましたが、関連性の高い結果は得られませんでした。 –

+0

@DavidAlber:+1あなたのコメント;)ありがとう –

答えて

26

のbashで行うことがよりgitのとは何の関係も、 - !をエスケープするか、単一引用符を使用し、すなわち

$ git commit -m "First Commit\!" 

または、より良い:

$ git commit -m 'First Commit!' 
+10

最初のメソッドのようにバックスラッシュでエスケープすると見苦しいリテラル実際のコミットメッセージのバックスラッシュ。 [これは投稿です]の回答(http://stackoverflow.com/questions/5131948/use-of-an-exclamation-mark-in-a-git-commit-message-via-command-line) ) 優れている。 –

2

いいえ、これはgitコマンドラインと二重引用符で可能です。 1つの簡単な修正は、!の後にスペースを入れています。これを回避するために

git commit -m "First Commit! " 

もう一つの方法は、git guiまたはちょうどgit commitを使用して、開いたエディタでメッセージを指定することです。

制限は明らかにbashの制限であり、gitの問題ではありません。一重引用符を使用して回避することができます:

git commit -m 'First Commit!' 
+4

*限定*ではありません! –

+0

[この回答](http://stackoverflow.com/a/5131960/298389)で示されているとおりではありません。一重引用符を使用することは可能です –

10

これはまったく関連はありませんが、bash関連です。使用!文字列でbashに履歴展開を試みます。あなたが望んでいなければ、一重引用符文字列を使うか、感嘆符をバックスラッシュでエスケープしてください。

関連する問題