git commit 规范

2022-04-06  本文已影响0人  Yigit_dev

源起

多人协作开发过程中最抠脑壳的就是读懂其它小伙伴的commit信息,由于我们开发过程中的提交信息不规范,导致我们很多时候回过头来看commit信息时,发现自己都不能一眼看出这次提交主要做了哪方面的修改,这对于他人阅读以及代码合并时带来了很大的困扰,更不用说拿commit信息自动生成release node直接发布了,基于这个原因,根据 约定式提交 的规范,我们做了一下commit信息的本地校验,并建议大家按照最小、单一、完整的原则下提交一个commit信息!

限制

我们会对你的commit信息中的第一行做格式校验,满足要求的格式应该类似于:
aa(bb):空格cc ==> feat(crm): just for text

如果格式不满足会有如下提示:

image.png

如果类型不满足会有如下提示:

image.png

如果格式和类型都满足,则可以正常通过校验:

image.png

详细的模版信息如下:

# <类型>(领域): <描述>
#空行
# <body>正文,详细描述,可以没有
#空行
# <footer>备注,通常是 BREAKING CHANGE 或修复的 bug 的链接,可以没有

# 类型字段包含:
#     feat:新功能(feature)-- emoji: ":sparkles:"有惊喜,例子 :sparkles:feat(crm): just text => ✨feat(crm): just text//
#     fix:修复bug -- emoji: ":bug:" 🐛
#     perf:性能优化(不影响现有代码逻辑的前提下提升性能) -- emoji: ":zap:" ⚡️
#     refactor:重构(即不是新增功能,也不是修改bug的代码变动)-- emoji: ":recycle:" ♻️
#     revert:恢复上一次提交 -- emoji: ":rewind:" ⏪️
#     merge:分支代码合并 -- emoji: ":twisted_rightwards_arrows:" 🔀
#     docs:文档(documentation)-- emoji: ":memo:" 📝
#     style:格式化 ESLint调整等(不影响代码运行的变动) -- emoji: ":art:" 🎨
#     test:增加测试代码,单元测试 -- emoji: ":test_tube:" 🧪
#     build:更改构建系统相关以及外部依赖 -- emoji: ":green_heart:" 💚
#     gitignore:修改ignore -- emoji: ":see_no_evil:" 🙈
#     config:修改配置相关文件 -- emoji: ":wrench:" 🔧
#     scripts:修改脚本相关文件 -- emoji: ":hammer:" 🔨
#     ci:改变CI相关的配置文件或者脚本 -- emoji: ":green_heart:" 💚
# 领域范围:
#     用于说明 commit 影响的范围,可以是某个领域或者某个具体范围,比如修改的登录页、账户中心页等
#     或者 crm、init、trade、ordercenter、payment、net、print、order、log、dns、
# 描述:
#     commit目的的简短描述,不超过50个英文字符
#
# body 部分是对本次 commit 的详细描述,可以分成多行
# footer 用来关闭 Issue或以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法
#

如果你喜欢emoji装饰一下你可以如下操作:

feat(crm): just text ==> :sparkles:feat(crm): just text

在gitlab或者github上就有如下的效果:

image.png

使用教程

  1. https://github.com/yangtaodev/gitConfig 项目里面的config文件夹复制到项目根目录,即app同级目录
  2. 在项目根目录执行:source config/init.sh
  3. 完成了,是不是很简单!接下来你就可以做代码修改并执行git commit 命令了
image.png

如果你喜欢使用Android studio自带的工具提交代码按照以下步骤:

上一篇下一篇

猜你喜欢

热点阅读