提问人:NerdOnTour 提问时间:2/17/2022 更新时间:7/5/2023 访问量:2533
git commit 消息中的反引号
Backticks in git commit message
问:
我做了
git commit -m "Changed function name `sum` to `sum_list`"
我使用反引号的意图是,当有人在 GitHub 等中查看提交消息时,以等宽字体键入。它在其他上下文中是这样工作的,例如在 Markdown 中。
然而,这并不奏效。A 显示以下提交消息:sum
sum_list
git log
Changed function name to
当我在谷歌上搜索时,我只发现了这个关于反引号命令的问题,但提问者和回答者都已经熟悉我试图理解的概念。
反引号在提交消息中有什么作用?有没有办法将提交消息的某些部分标记为等宽字体?
答:
TLDR:使用单引号:
$ git commit -m 'Changed function name `sum` to `sum_list`'
使用反引号是告诉 shell 执行内容的一种方式,它称为命令替换,请考虑以下几点:
$ echo "hello `ls` world"
hello Applications
Desktop
Documents
Downloads
Library
Movies
Music
Pictures
Public world
使用单引号时,唯一的特殊字符是另一个单引号:
$ echo 'hello `ls` world'
hello `ls` world
这完全取决于 UI 的解释,即它们将如何显示您的 git 提交消息,也许反引号会在您的 UI 中专门呈现,但考虑到最低公分母是 .git log
评论
git commit
git log
git commit -m 'Add startup script' -m '...'
error: pathspec 'startup' did not match any file(s) known to git
error: pathspec 'script'' did not match any file(s) known to git
如果在 or 文件中设置了环境变量 , ,则可以使用:GIT_EDITOR
VISUAL
EDITOR
.bashrc
.zshrc
$ git commit
你的编辑器将打开,你可以在其中编写提交消息。
将以下内容添加到您的 or 文件中。.bashrc
.zshrc
export GIT_EDITOR='code --wait'
然后在命令行上:
$ git commit
将打开 VS Code,需要该标志来告诉 VS Code 不要分叉,以便 git 知道你已经完成了提交消息的编写,当你关闭编辑器时。--wait
其他命令也遵循 u 和环境变量:EDITOR
VISUAL
例如,您可以在命令行上按 that's +,然后按 +。这将使用当前命令行打开指定的编辑器,现在可以使用编辑器对其进行编辑。^X^E
controlxcontrole
对于提交消息来说很酷,人们必须始终用反引号转义他们想要突出显示的单词。
例如。
- 🚫 不要做
- ✅ 做
git commit -m "chore: remove unused `code`" 🚫
git commit -m "chore: remove unused \`code\`" ✅
git commit -m 'chore: remove unused \`code\`' ✅
预览
“chore:删除未使用的 ” “chore:删除未使用的'代码'” 🚫
✅
'chore:删除未使用的'代码'' ✅code
最终结果看起来像第一个选项,但不应该这样写,而不转义反引号\
我之前遇到的另一个问题是 CI/CD 工具由于没有转义提交消息中的反引号而无法运行构建。
下一个:为什么不在提交中使用被动语态?
评论
<some command> `subcommand` <end of main command>
<some command> $(subcommand) <end of main command>