在GitHub和日常软件开发中,最通用且被广泛接受的命名规范是 Conventional Commits(约定式提交),它起源于 Angular 团队的规范。

使用规范的提交信息不仅能让项目的历史记录清晰易读,还能自动生成更新日志(Changelog)。

标准的 Commit 格式如下:

<type>(<scope>): <subject>
  • type: 提交的类型(必填)
  • scope: 影响的范围,比如具体哪个模块、页面、组件(选填)
  • subject: 简短的描述(必填)

1. 常用的 type 类型(核心词汇)

根据你修改的内容,选择下面最合适的一个词开头:

  • feat (Feature):增加新功能。
  • fix (Bug fix):修复 Bug。
  • docs (Documentation):只修改了文档(如 README.md)。
  • style (Style):代码格式调整(不影响代码运行的修改,如空格、缩进、分号等)。
  • refactor (Refactor):代码重构(既不是新增功能,也不是修复 Bug 的代码变动)。
  • perf (Performance):优化性能的代码更改。
  • test (Test):增加或修改测试用例。
  • chore (Chore):构建过程或辅助工具的变动(如更新依赖包、配置打包工具等)。
  • revert (Revert):撤销之前的 commit。

2. 针对你提到的具体场景示例

场景一:创建新仓库 / 初始化项目

通常第一次提交不需要太复杂,直接说明是初始化即可:

  • Initial commit (Git默认提供的最经典写法)
  • chore: initial commit (符合规范的写法)
  • chore: init project structure (初始化项目结构)
场景二:更新代码(根据具体更新的内容区分)

不要只写一个干巴巴的 update,要说明更新了什么

  • 更新了文档:
    • docs: update README.md (更新 README)
    • docs(api): add login api description (增加登录接口说明)
  • 更新/升级了依赖包:
    • chore: update dependencies (更新依赖)
    • chore: upgrade react to v18 (升级 react 到 v18)
  • 更新/完善了一个功能(其实算新功能):
    • feat(user): add user profile page (添加用户主页)
  • 更新/修改了一个 UI 样式:
    • style(button): change button color to red (把按钮颜色改成红色)
场景三:修复问题
  • fix(login): resolve null pointer exception (修复登录时的空指针异常)
  • fix: typo in README (修复 README 中的拼写错误)
场景四:发布新版本
  • chore: release v1.0.0

3. Commit 命名的 4 个黄金法则

  1. 使用祈使句(命令语气):
    尽量用 “Add”, “Update”, “Fix”, “Remove”,而不是 “Added”, “Updates”, “Fixing”。
    ✅ 对的:feat: add user login (添加用户登录)
    ❌ 错的:feat: added user login (添加了用户登录)
  2. 首字母小写(约定俗成):
    冒号后面的描述 subject 通常首字母小写,并且句尾不加句号 .
  3. 简明扼要:
    标题(第一行)最好控制在 50 个字符以内。如果需要详细解释,空一行后在 Body 中写详细内容。
  4. 中英文选择:
    如果是开源项目,强烈建议用英文;如果是公司内部纯中文团队的项目,可以用中文(例如:feat: 增加微信支付功能),但 type 词(feat/fix/chore 等)必须保留英文。

总结模板,可以直接套用:

  • feat(模块名): 新增了xxx功能
  • fix(模块名): 修复了xxx问题
  • docs: 更新了xxx文档
  • chore: 更新了xxx配置/依赖
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐