Git Commit 信息规范
1. 常用前缀(语义化提交)
遵循 Angular Commit Guidelines 等规范,用于自动化生成 CHANGELOG 或触发版本管理: • feat: 新增功能(Feature)
feat: add user authentication API
• fix: 修复 Bug
fix: resolve memory leak in data parser
• docs: 文档变更
docs: update installation guide for macOS
• style: 代码样式调整(空格、缩进等,不涉及逻辑)
style: format CSS with Prettier
• refactor: 代码重构(功能不变)
refactor: simplify database connection logic
• perf: 性能优化
perf: reduce image loading time by 40%
• test: 测试相关变更
test: add unit tests for login module
• chore: 杂项(构建脚本、依赖更新等)
chore: upgrade webpack to v5
• revert: 回滚代码
revert: rollback experimental feature X
2. 常见缩写与符号
• WIP(Work In Progress):标记为“进行中”的提交(通常用于草稿)
WIP: draft of new dashboard UI
• LGTM(Looks Good To Me):代码审查通过(多在 Pull Request 中使用) • PR(Pull Request):关联到某个合并请求
Update README.md (#123) # 关联到 Issue 123
• #123:关联到 Issue 或 PR 的编号 • !45:在 GitLab 中表示关联到合并请求 45(GitHub 使用 #) • 🚑(急救车):紧急修复
🚑 Fix critical security vulnerability
3. 幽默/非正式表达
(慎用,常见于个人项目或开源社区) • pebcak(Problem Exists Between Chair And Keyboard):调侃用户操作错误
fix(login): handle pebcak error when password is empty
• yolo(You Only Live Once):临时或冒险的代码变更
yolo: disable input validation for demo
• DEADBEEF:调试占位符(源自十六进制常量 0xDEADBEEF) • 🤦♂️(捂脸表情):修复低级错误
🤦♂️ Fix typo in config file
4. 技术术语
• BREAKING CHANGE:标记不兼容的变更(影响语义化版本号 MAJOR)
feat: migrate to React 18
BREAKING CHANGE: Drop support for legacy context API
• hotfix:紧急修复生产环境问题 • backport:将代码变更移植到旧版本分支
backport: apply security patch to v1.x
• nit(Nitpick):指无关紧要的小修改(如拼写错误)
nit: fix typo in comment
5. 特殊场景
• Initial commit:项目首次提交(经典模板) • Merge branch 'dev':合并分支的默认消息(可优化为更清晰的描述) • wip:(Work In Progress):临时保存进度
wip: experiment with new caching strategy
如何写好 Commit 信息?
- 清晰简洁:首行不超过 50 字符,正文每行不超过 72 字符。
- 关联上下文:使用
#123或Closes #45关联 Issue/PR。 - 遵循规范:团队协作时统一前缀(如
feat/fix)。 - 避免废话:删除无意义的提交(如
update、fix bug)。
通过理解这些“黑话”,你可以更高效地阅读和编写 Commit 信息,提升协作效率!🔍
文档信息
- 本文作者:Ryan Mendez
- 本文链接:https://adwin2.github.io/2025/03/17/docs-git-rules/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)