git“约定式提交” (Conventional Commits) 的规范
什么是“约定式提交” (Conventional Commits)?
它是一套简单、清晰的规则,用来规范化你的 git commit 信息。它不仅仅是为了好看,更是为了让机器(和人)能够轻松地理解你每次提交的目的。
一个标准的约定式提交信息格式如下:
codeCode
<类型>[可选的作用域]: <主题描述>[可选的正文][可选的页脚]1. <类型> (Type) - 这是最重要的部分
这部分定义了你这次提交的性质。除了 feat,还有以下这些常用的类型:
fix: 修复了一个Bug (bug fix)。
fix: prevent task list from crashing on empty data (修复任务列表在数据为空时崩溃的问题)
docs: 只修改了文档 (documentation),例如 README.md 或者代码注释。
docs: update setup instructions in README (更新README中的安装指南)
style: 修改了代码格式,但没有改变任何业务逻辑 (例如:空格、分号、格式化)。
style: format all files with prettier (使用prettier格式化所有文件)
refactor: 代码重构。既没有增加新功能,也没有修复Bug,只是优化了代码结构或实现方式。
refactor: split UserProfile component into smaller pieces (将用户个人资料组件拆分成更小的部分)
perf: 提升了性能 (performance)。
perf: improve task list rendering speed by using virtualization (通过虚拟化技术提升任务列表的渲染速度)
test: 增加了或修改了测试代码。
test: add unit tests for login validation (为登录验证逻辑添加单元测试)
chore: “杂活”。指那些不影响源代码和测试的修改,例如构建流程、依赖管理、工具配置等。
chore: add react-native-web dependency (添加 react-native-web 依赖)
chore: update turbo.json configuration (更新 turbo.json 配置文件)
2. [可选的作用域] (Scope)
这部分是可选的,用来指明这次提交影响的范围。在您的项目中,这会非常有用!
feat(web): add dashboard layout (功能(Web端): 增加仪表盘布局)
fix(mobile): fix QR code scanner alignment (修复(移动端): 修复二维码扫描器的对齐问题)
refactor(auth): simplify password reset logic (重构(认证模块): 简化密码重置逻辑)
使用作用域能让您在查看提交历史时,一目了然地知道每次修改是针对哪个部分的。
3. <主题描述> (Subject)
这是对本次提交的简短、清晰的描述。
规则:
使用动词开头,一般现在时 (例如用 add, fix, change 而不是 added, fixed, changed)。
首字母小写。
结尾不加句号。
为什么强烈推荐您使用?
对于个人开发者来说,它的好处超乎想象:
清晰的历史记录: 当您一个月后想知道某个Bug是什么时候引入的,或者某个功能是怎么实现的,一个清晰的Git历史记录就是您的“时光机”。您可以通过 git log --oneline 快速浏览。
自动化成为可能: 这是最大的优势!
自动生成更新日志 (CHANGELOG): 有很多工具可以扫描您的Git历史,然后自动根据所有的 feat 和 fix 提交,生成一个漂亮的 CHANGELOG.md 文件。
自动决定版本号: 工具可以根据您的提交类型(例如,有 feat 就升小版本号,有 BREAKING CHANGE 就升大版本号)来自动管理项目的版本。
与AI协作更高效: 当您让 Claude 或其他AI工具审查您的代码变更时,一个规范的提交信息能帮助AI更快地理解您这次变更的意图和范围。
总之,将“约定式提交”作为您项目的纪律,是一项投入小、回报巨大的投资。它能让您的个人项目也具备专业团队的工程化水准。
