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

相关推荐
Winlifes14 小时前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理1 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123451 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s2 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人2 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人3 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅3 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人3 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr3 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林3 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器