Can';不要加上“&引用;我的git提交消息中的符号

Can';不要加上“&引用;我的git提交消息中的符号,git,bash,Git,Bash,可能重复: 我是git新手,我执行了以下命令: git commit -m "First Commit!" 这会引发如下错误: bash: !": event not found 为什么会发生这种错误?在Git中,我不应该使用提交中的符号 是否还有其他符号我不应该使用或应该使用任何转义序列转义?否,这在git命令行和双引号中是可能的。一个简单的解决方法是在后面加一个空格 git commit -m "First Commit! " 另一种解决方法是使用gitgui或只是gitcommit

可能重复:

我是git新手,我执行了以下命令:

git commit -m "First Commit!"
这会引发如下错误:

bash: !": event not found
为什么会发生这种错误?在Git中,我不应该使用
提交中的符号


是否还有其他符号我不应该使用或应该使用任何转义序列转义?

否,这在git命令行和双引号中是可能的。一个简单的解决方法是在
后面加一个空格

git commit -m "First Commit! "
另一种解决方法是使用
gitgui
或只是
gitcommit
,然后在打开的编辑器中指定消息

这个限制显然是bash的限制,而不是git的问题。您可以使用单引号避免它:

git commit -m 'First Commit!'

这与git无关,但与bash相关。使用!在字符串中,将导致bash尝试进行历史扩展。如果您不想这样做,可以使用单引号字符串或用反斜杠转义感叹号。

与git无关,与bash有关更多-转义
或使用单引号,即

$ git commit -m "First Commit\!"
或者更好:

$ git commit -m 'First Commit!'

您可能会发现这很有用:。很抱歉,我用“Git adding!”搜索了一下,但没有得到相关的结果。这不是限制,这是一个功能!不正确,如中所示:有可能,只需使用带有反斜杠的单引号escaping,因为在第一个方法中,将在实际提交消息中留下难看的文字反斜杠。对于不想手动转义字符的用户,上的答案更好。仅供参考。另一种方法是在终端中使用
gitgui
命令。然后,我们可以使用提交消息,而无需手动转义字符