首页 > 其他分享 >git 上传是的comment message的规范问题

git 上传是的comment message的规范问题

时间:2022-10-19 18:15:54浏览次数:75  
标签:comment git fix 规范 提交 commit message

背景

Git每次提交代码都需要写commit message,否则就不允许提交。一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作……但是在日常开发中,大家的commit message千奇百怪,中英文混合使用、fix bug等各种笼统的message司空见怪,这就导致后续代码维护成本特别大,有时自己都不知道自己的fix bug修改的是什么问题。基于以上这些问题,我们希望通过某种方式来监控用户的git commit message,让规范更好的服务于质量,提高大家的研发效率。

规范建设

规范梳理

初期我们在互联网上搜索了大量有关git commit规范的资料,但只有Angular规范是目前使用最广的写法,比较合理和系统化,并且有配套的工具(IDEA就有插件支持这种写法)。最后综合阿里巴巴高德地图相关部门已有的规范总结出了一套git commit规范。

commit message格式

<type>(<scope>): <subject>

type(必须)

用于说明git commit的类别,只允许使用下面的标识。

feat:新功能(feature)。

fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。

  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix

docs:文档(documentation)。

style:格式(不影响代码运行的变动)。

refactor:重构(即不是新增功能,也不是修改bug的代码变动)。

perf:优化相关,比如提升性能、体验。

test:增加测试。

chore:构建过程或辅助工具的变动。

revert:回滚到上一个版本。

merge:代码合并。

sync:同步主线或分支的Bug。

scope(可选)

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必须)

subject是commit目的的简短描述,不超过50个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号。
  • 根据以上规范git commit message将是如下的格式:
fix(DAO):用户查询缺少username属性 
feat(Controller):用户查询接口开发

以上就是我们梳理的git commit规范,那么我们这样规范git commit到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况。
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
  • 格式化的commit message才可以用于自动化输出Change log。

 

reference:https://zhuanlan.zhihu.com/p/182553920

标签:comment,git,fix,规范,提交,commit,message
From: https://www.cnblogs.com/jyf2018/p/16807252.html

相关文章

  • Gitlab Merge 飞书通知
    又是好久没写公众号了,7月份换了工作远程居家上班了,今天想起来还有个公众号,哈哈。前不久前端开发有了这个一个需求,希望分支有Merge行为的时候通知到Lark群里,当时用的Gitlab......
  • Git 原理
    简介Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件......
  • (Linux服务器)git添加SSH公钥后本地验证失败
    环境:腾讯云Ubuntux86_64问题说明:在配置了公钥后,一直提示我[email protected]:Permissiondenied(publickey).解决办法:先查看root/.ssh目录下的文件再在该目录下执行......
  • 【Git】Mac上升级git的方式
    1、首先,查看自己电脑上安装的git版本1git--version//查看git的版本2、安装HomeBrew/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebre......
  • git clone 如何通过proxy进行远程代码仓库拷贝下载
    git使用proxy的方式和ssh的情况是差不多的,给出借鉴:SSH如何通过proxy进行服务器连接   ----------------------------------------------------------------------......
  • 10-git配置比较工具
    git配置比较工具1.修改.gitconfig文件[diff]tool=bc4[difftool]prompt=false[difftool"bc4"]cmd="\"C:/Users/xxx/AppData/Local/BeyondCompare4/BComp.ex......
  • 『现学现忘』Git基础 — 36、标签tag(一)
    目录1、标签介绍2、列出标签3、创建标签(1)标签的分类(2)附注标签(3)轻量标签4、后期打标签1、标签介绍软件的某个发行版本所对应的,其实就是软件开发过程中,某一个阶段的最后一......
  • Git从本地上传到远程仓库报错集
    Git从本地上传到远程仓库报错集 1、git使用commit命令后显示Authoridentityunknown的解决方法重新输入命令:先输入:$gitconfig--globaluser.name“你的名字”......
  • Github上把敏感文件或者API秘钥上传公共库并开放为public权限导致秘钥泄露
    Github上把敏感文件或者API秘钥上传公共库并开放为public权限导致秘钥泄露背景我们在开发项目时,可能会使用到一些加密文件,例如私钥,或者使用到一些云服务商提供的ak(Acce......
  • 如何 让自己代码上传到gitee上
    1gitee上创建仓库2在本地代码根路径下执行git的binbash窗口3gitadd.gitcommit-m""4绑定远程仓库[email protected]:michaelli......