如何从命令行输入叹号到 Git 提交消息中?
可以用反斜杠转义叹号,但是反斜杠也会出现在提交消息中。
我想要这样的东西:
git commit -am "Nailed it!"
使用单引号代替双引号
git commit -am 'Nailed it!'
或者,如果出于某种原因需要使用双引号,但仍然希望使用字面 !,那么通过 set +H关闭脚本顶部的历史扩展
!
set +H
你也可以输入:
git commit -am "Nailed it ! "
所以只要点击回车,把叹号放在一个新的行,然后关闭提交消息。有一天偶然发现了这个。
解决这个问题的另一种方法是在 !后面加一个 空间,比如:
git commit -am "Nailed it! "
注意 !和最后一个 "之间的 空间。
(空格不会包含在提交消息中—— Git 会自动从提交消息中删除尾随的空格。)
相反,不需要记住要使用什么引号或转义符
Ctr
X
E
... 命令将被执行 & 任何特殊字符都将正确显示在 Git 提交消息中!
(注意许多其他用途: 输入复杂的命令,在提交消息中添加换行符等等)
对我来说,用斜杠转义不会出现在提交消息中。
git commit -m "Nailed it\!"
如果需要使用双引号,并且 !是消息中的最后一个字符 只要把 !排除在引号之外,因为我们只使用引号,所以空格包含在消息中。
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!'组成
'
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 commit并让 git 调用默认的文本编辑器:)
git commit