Git代码提交规范指南

良好的提交信息能提升代码可维护性,推荐采用以下规范:

1. 格式模板

<type>(<scope>): <subject>
// 空行
<body>
// 空行
<footer>

2. 核心要素

  • 类型(type)

    • feat:新功能
    • 🐛 fix:问题修复
    • 📚 docs:文档更新
    • 🎨 style:代码样式调整
    • 🔧 refactor:重构(不改变功能)
    • 🚀 perf:性能优化
    • test:测试相关
    • 🛠️ chore:构建/工具变更
  • 作用域(scope):模块名称(如:user-auth, payment-module)

  • 主题(subject):简明描述(50字内),使用现在时

 3. 示例提交

git commit -m "feat(user-auth): 新增双因素认证功能

- 集成Google Authenticator认证模块
- 添加短信验证码备用方案

Closes #123"

4. 各部分详解

(1) Header(标题行)
  • 类型(Type):必填,使用上述固定类型。

  • 范围(Scope):可选,说明改动的影响范围(如模块、组件名称)。例如 feat(api)fix(auth)

  • 主题(Subject):简明描述改动目的,首字母小写,结尾不加句号

(2) Body(正文)
  • 详细描述改动内容,可以分条目说明。

  • 解释 为什么修改 和 如何实现,而非仅描述代码变化。

  • 使用 Markdown 格式(如列表、代码块)。

(3) Footer(页脚)
  • 关联 Issue:如 Closes #123Fixes #456

  • 破坏性变更:用 BREAKING CHANGE: 开头,说明不兼容的改动。

  • 其他需要备注的信息(如依赖变更)。

5. 最佳实践

  • 使用动词+对象结构:如"增加缓存机制"而非"加了缓存"
  • 正文每行不超过72字符
  • 重大变更需在正文说明BREAKING CHANGE:
  • 引用问题追踪编号:Resolves #ID / Refs #ID

 6. 自动化工具推荐

  • commitlint:提交信息校验
  • commitizen:交互式提交引导
  • standard-version:自动生成CHANGELOG

7. 反例与正例

❌ 错误示例:
  • update code (类型不明确,描述模糊)

  • 修复了一个 bug (未说明修复内容)

✅ 正确示例:
fix(auth): 解决登录态过期后跳转失败的问题

- 修正 Token 过期后的重定向逻辑
- 添加对应的单元测试用例

Closes #789

通过规范化的提交信息,团队协作和代码维护效率会显著提升。建议搭配工具(如 commitlinthusky)自动校验格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值