Copilot 一键生成中文 Git Commit Message

1. 背景

Copilot 中有一个Generate Commit Message 的功能,该功能可以一键根据当前改动的文件记录,自动创建提交信息摘要(标题)和描述,早期只支持生成英文

最近发现最新版支持设置git-commit-instructions 规则了,该规则可指定生成的语言和规范

2. 未指定规则前的效果

2.1 未指定前,会发现有2个问题

  • 生成的是英文的
  • 生成的提交信息没有按照业内的 Commit message 通用规范生成

3. 指定规则后的效果

3.1 下面是git-commit-instructions 提示语

复制代码
please generate a commit message with Chinese.
Make sure it includes an accurate and informative subject line that succinctly summarizes the key points of the changes, the response must only have commit message content and must have blank line in message template.

Below is the commit message template:

<type>(<scope>): <subject>
// blank line
<body>
// blank line
<footer>

The Header is mandatory, while the Body and Footer are optional.

Regardless of which part, no line should exceed 72 characters (or 100 characters). This is to avoid automatic line breaks affecting aesthetics.

Below is the type Enum:

- feat: new feature
- fix: bug fix
- docs: documentation
- style: formatting (changes that do not affect code execution)
- refactor: refactoring (code changes that are neither new features nor bug fixes)
- test: adding tests
- chore: changes to the build process or auxiliary tools

The body section is a detailed description of this commit and can be split into multiple lines. Here's an example:

More detailed explanatory text, if necessary. Wrap it to about 72 characters or so.

Further paragraphs come after blank lines.

- Bullet points are okay, too
- Use a hanging indent

3.1 下面是指定规则的步骤

方式1 - WebStorm 环境

  • 设置 > 工具 >GitHub Copilot>Customizations>Git Commit Instructions> Workspace 【Workspace 只对当前项目生效,如果选择Global 则对全局所有项目都生效】
  • 在打开的git-commit-instructions.md 复制上面的提示语
  • 保存当前文件

方式2- 非WebStorm环境

4. 补充说明

这里的Commit message(提交说明) 参考的是阮一峰大佬的文章,如果你想根据自己的团队和项目可自行根据实际情况,修改git-commit-instructions 中的规则。 另外该规则 也支持 Trae、CodeBuddy、Cursor 等AI IDE

相关推荐
犹若故人归10 小时前
Github/Gitee和Git实践
git·gitee·github
007php00712 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
fakerth13 小时前
Git 完全指南:从入门到精通
git
XiaoHu020713 小时前
Linux网络编程套接字
linux·服务器·网络·git
AlexDeng14 小时前
Git 实战:我用 git worktree 一次性拉取多个工作目录
git
import_random14 小时前
[git版本控制]git pull origin main
git
ShallowLin14 小时前
Git 的分支管理
git
chen_22718 小时前
搭建git工作流
git
Rabbit_QL1 天前
【git reset】个人分支一次精准撤回 git push 的实战记录
git
掘金忠实用户程序员1 天前
Git多仓库协作场景
git