如何从命令行向Git提交消息输入感叹号?
可以使用反斜杠转义感叹号,但反斜杠也会在提交消息中结束.
我想要这样的东西:
git commit -am "Nailed it!"
Run Code Online (Sandbox Code Playgroud)
Sie*_*geX 217
使用单引号而不是双引号
git commit -am 'Nailed it!'
Run Code Online (Sandbox Code Playgroud)
或者,如果您出于某种原因需要使用双引号但仍需要文字,!
那么请通过脚本顶部的历史记录扩展来关闭set +H
nic*_*_zs 41
要解决的另一个方法是添加一个空格后!喜欢:
git commit -am "Nailed it! "
Run Code Online (Sandbox Code Playgroud)
注意之间的空间!最后一个".
(该空间不会包含在提交消息中 - Git会自动从提交消息中修剪尾随空格.)
无需记住要使用的引号或转义符,而是
Ctr
X
E
» 将打开您的“外部编辑器”。...命令将被执行,任何特殊字符都将正确显示在 Git 提交消息中!
(注意许多其他用途:键入复杂的命令,在提交消息中添加换行符等)
如果您需要使用双引号并且 the!
是消息中的最后一个字符,请保留!
引号的外部,因为我们仅使用引号以便将空格包含在消息中。
git commit -m "Reverting last commit because I don't like it"!
Run Code Online (Sandbox Code Playgroud)
如果需要包含!
中间字符串,可以使用单引号,但如果需要使用文字单引号,则需要关闭引号,然后'
通过转义将其放在字符串的外部。所以,假设你的消息是I don't like it! Reverting again!
,这可以用'I don'
+ \'
+组成't like it! Reverting again!'
git commit -m 'I don'\''t like it! Reverting again!'
Run Code Online (Sandbox Code Playgroud)
任何比这更复杂的事情,您可能最好使用git commit
并让 git 调用您的默认文本编辑器:)