终端和 VS Code 中的 Git 提交消息模板

2025-06-08

终端和 VS Code 中的 Git 提交消息模板

最近我一直在尝试写出更好的提交信息。由于我患有注意力缺陷多动症,我的座右铭就是“把事情写下来”,所以当同事告诉我 git 提交信息模板时,我非常高兴。

首先,我提炼出我想在每条消息中包含的内容:

  • 传统的提交类型
  • 描述性标题
  • 描述什么和为什么的主体
  • 发行编号

我还喜欢Lisa 模板的换行功能,在 git 终止该行之前,她在最后一个有效列中放置了一个 octothorpe。

基于此,我.gitmessage在我的主目录中创建了一个文件:

<type>: <title>
# No more than 50 chars. #### 50 chars is here: #

<body> 
# Wrap at 72 chars. ################################## which is here: #

Issue #
Enter fullscreen mode Exit fullscreen mode

然后我跑了

git config --global commit.template ~/.gitmessage
Enter fullscreen mode Exit fullscreen mode

如果您想在终端中用一行代码完成所有操作,您可以运行:

printf "<type>: <title>\n# No more than 50 chars. #### 50 chars is here: #\n\n<body>\n# Wrap at 72 chars. ################################## which is here: #\n\nIssue #" > ~/.gitmessage && git config --global commit.template ~/.gitmessage
Enter fullscreen mode Exit fullscreen mode

如果需要,您可以--global从命令中移除该标志,并为每个仓库创建不同的 git 提交消息模板。如果文件路径.gitmessage不是绝对路径,则将被视为相对于仓库根目录的路径。

git commit如果我通常在终端中运行,这一切都很好用。我习惯在提交时使用VS Code 的源代码控制面板,而消息模板中注释掉的提示不会在那里显示。我完全可以在我的代码中使用别名.zshrc,例如:

alias commit="git add . && git commit && git push && git pull"
Enter fullscreen mode Exit fullscreen mode

……不过我已经越来越喜欢那个小小的提交勾了。结果,我发现了两个提交信息扩展选项。

提交消息编辑器VS Code 中拥有清晰的用户界面和说明。点击源代码控制面板中的铅笔图标后,您可以选择传统的 Git 消息模板样式或表单样式。

VS Code Git 提交编辑器有一个外部 UI,可帮助您配置设置,并提供大量选项,对于寻求更多自动化功能的用户来说很有吸引力。为了启动并运行类似的模板,我必须将以下代码添加到我的settings.json.

{
  ...
  "vscodeGitCommit.template": [
    "{type}: {title}\n\n{body}\n\nIssue #{issue}"
  ]
}
Enter fullscreen mode Exit fullscreen mode

然后,如果您单击源控制面板中的聊天图标,系统将提示您输入该字符串中花括号内的任何内容的值。

太棒了!我最终选择了提交消息编辑器,因为我想要注释掉的提示,现在我在终端和文本编辑器里都能找到答案了。

鏂囩珷鏉ユ簮锛�https://dev.to/abbeyperini/git-commit-message-template-in-terminal-and-vs-code-326p
PREV
在 Vercel Serverless 上部署 FastAPI 应用演示应用程序源代码
NEXT
在新的代码库中入门