Git 完备的提交规范教程

[复制链接]
发表于 2026-2-24 12:10:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
约定式提交规范

本文中的关键词 “必须(MUST)”、“克制(MUST NOT)”、“须要(REQUIRED)”、“应当(SHALL)”、“不应当(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“保举(RECOMMENDED)”、“可以(MAY)” 和 “可选(OPTIONAL)”

  • 每个提交都必须使用范例字段前缀,它由一个名词构成,诸如 feat 或 fix , 厥后接可选的范围字段,可选的 !,以及须要的冒号(英文半角)和空格。
  • 当一个提交为应用或类库实现了新功能时,必须使用 feat 范例。
  • 当一个提交为应用修复了 bug 时,必须使用 fix 范例。
  • 范围字段可以跟随在范例字段背面。范围必须是一个形貌某部门代码的名词,并用圆括号困绕,比方: fix(parser):
  • 形貌字段必须直接跟在 <范例>(范围) 前缀的冒号和空格之后。 形貌指的是对代码变动的简短总结,比方: fix: array parsing issue when multiple spaces were contained in string 。
  • 在简短形貌之后,可以编写较长的提交正文,为代码变动提供额外的上下文信息。正文必须起始于形貌字段竣事的一个空行后。
  • 提交的正文内容自由编写,并可以使用空行分隔差别段落。
  • 在正文竣事的一个空行之后,可以编写一行或多行脚注。每行脚注都必须包罗 一个令牌(token),背面紧跟 :<space> 或 <space># 作为分隔符,背面再紧跟令牌的值脚注的令牌必须使用 - 作为连字符,好比 Acked-by (如许有助于 区分脚注和多行正文)。有一种破例环境就是 BREAKING CHANGE,它可以被以为是一个令牌。
  • 脚注的值可以包罗空格和换行,值的分析过程必须直到下一个脚注的令牌/分隔符出现为止。
  • 粉碎性变动必须在提交信息中标记出来,要么在 <范例>(范围) 前缀中标记,要么作为脚注的一项。
  • 包罗在脚注中时,粉碎性变动必须包罗大写的文本 BREAKING CHANGE,背面紧跟着冒号、空格,然后是形貌,比方: BREAKING CHANGE: environment variables now take precedence over config files 。
  • 包罗在 <范例>(范围) 前缀时,粉碎性变动必须通过把 ! 直接放在 : 前面标记出来。 如果使用了 !,那么脚注中可以不写 BREAKING CHANGE:, 同时提交信息的形貌中应该用来形貌粉碎性变动。
  • 在提交分析中,可以使用 feat 和 fix 之外的范例,好比:docs: updated ref docs. 。
  • 工具的实现必须不区分巨细写地分析构成约定式提交的信息单元,只有 BREAKING CHANGE 必须是大写的。
  • BREAKING-CHANGE 作为脚注的令牌时必须是 BREAKING CHANGE 的同义词。
为什么使用约定式提交

提交范例标题形貌心情符号发布包罗在变动日记中feat特性一个新功能minortruefixBug修复错误修复patchtruedocs文档文档更改patch如果scope是readmetruestyle风格不影响代码寄义的更改(空格、格式、缺少分号等)-truerefactor代码重构既不修复错误也不添加功能的代码更改-trueperf性能改进进步性能的代码更改patchtruetest测试添加缺失的测试或改正现有的测试-truebuild构建影响构建体系或外部依靠项的更改(示例范围:gulp、broccoli、npm)patchtrueci一连集成对我们的 CI 设置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)-truechore家务活不修改 src 或测试文件的其他更改-truerevert还原规复之前的提交-true

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表