Git普通提交与约定式提交的区别是什么?新手求助协作提交方案
约定式提交 vs 普通提交:让协作更清晰的Git提交方式
普通提交的痛点
你现在用的git commit -m "message"这种自由格式提交,在个人项目里可能没问题,但和朋友协作时很容易出现这些问题:
- 提交信息太随意,比如只写"改了点东西""更新代码",别人完全不知道你改了什么
- 没有统一规范,每个人提交风格混乱,看提交历史时要逐个点开diff才清楚变动
- 没法快速筛选不同类型的变更(比如是修复bug、新增功能还是改了文档)
约定式提交是什么?
它是一套统一的Git提交信息规范,核心是给提交信息加固定结构,让机器和人都能快速看懂。基本格式是:
<类型>(<可选范围>): <描述> <可选的详细正文> <可选的页脚>
和普通提交的核心区别
- 结构固定:普通提交是自由文本,约定式提交有明确格式要求,强制你把变更类型、影响范围、核心改动说清楚
- 信息粒度精准:普通提交常模糊笼统,约定式提交要求精准描述——比如是
feat(支付模块): 新增微信支付渠道,而非"加了支付功能" - 可机器解析:规范格式能让工具自动生成CHANGELOG、语义化版本号,协作效率更高
- 协作成本降低:朋友扫一眼提交历史,就能知道你做了什么类型的改动,不用逐个查diff
常用提交类型(核心几种)
feat: 新增功能(比如给个人博客加评论区)fix: 修复bug(比如修复登录按钮点击无响应的问题)docs: 仅修改文档(比如更新README里的部署步骤)style: 代码格式调整(比如调整缩进、换行,不影响代码功能)refactor: 重构代码(比如优化函数逻辑,不新增功能也不修复bug)test: 新增或修改测试用例chore: 构建流程、依赖更新等杂项(比如升级npm包版本)
新手上手的简单例子
你之前可能写:
git commit -m "改了登录相关的东西"
换成约定式提交可以写成:
git commit -m "fix(登录模块): 修复验证码过期后无法重新获取的问题"
如果有更详细的改动,可补充正文:
git commit -m "feat(个人中心): 新增头像上传功能 - 支持JPG/PNG格式,最大2M - 上传后自动生成缩略图"
给你的小建议
- 不用一开始就严格遵守所有规则,先从核心的
<类型>: <描述>开始用,熟练后再加范围和正文 - 提交前先自查:这个信息能不能让没看代码的朋友清楚你改了什么
- 和朋友协作时,提前约定好统一使用的类型,避免自定义类型导致混乱
内容的提问来源于stack exchange,提问作者ing23
相关产品推荐
相关产品推荐

