
第三代软件开发-Git提交规范
文章目录
关键字:
Qt
、
Qml
、
git
、
Commit
、
release
项目介绍
重要说明☝
☀该专栏在第三代软开发更新完将涨价
Git提交规范
意外中的意外,在第三代软件开发过程中,博主不在一个人单打独斗,终于有了自己的小伙伴。之前自己孤生一人的时候,Git 的作用仅仅是备份,对于提交规范一直也没有注意。但是有了小伙伴,那就需要稍微规范一下,以方便后期维护和Bug定位。目前我们使用的是一个**Angular的commit message规范**这里咱们随便找两个文章朝下作业
抄作业链接:https://blog.csdn.net/Joseph_ZG/article/details/112818937
抄作业链接:https://www.jianshu.com/p/6433679cd10f
分支规范
分支类型 | 命名规范 | 创建自 | 合并到 | 说明 |
---|---|---|---|---|
master | master | - | - | 长期分支,部署到生产环境中的代码 |
develop | develop | - | master | 长期分支,进行代码集成的分支 |
feature | feature/* | develop | develop | 短期分支,新功能分支 |
release | release/* | develop | develop和master | 短期分支,一次新版本的发布 |
hotfix | hotfix/* | master | develop 和 master | 短期分支,生产环境中发现的紧急 bug 的修复,唯一可以直接从master分支fork出来的分支 |
三个短期分支类型一旦完成开发,它们就会被合并进develop或master,然后被删除。
分支的名称应该遵循一定的命名规范,以方便开发人员识别。
当需要开发一个新的功能时,基本的流程如下:
Commit Message Format
<header>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
每一个commit message都应该包含header,body和footer。其中footer可以省略,但是header和body都不能为空。
Header
Header分为三个部分type, scope, summary,其中type和summary为必填项,scope可以省略,格式如下:
<type>(<scope>): <summary>
根据上述规范git commit message header可以如下:
fix(Controller): request url map typo
Body
和Header中的summary一样。同时需要解释提交的动机,为什么需要更改,可以和之前的行为进行比较,来说明改动的影响等等。
Footer
Footer适用于当提交的改动包含了不可兼容变化或者弃用的变化,Footer部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法,同时可以把相关Github issue,JIRA ticket或者其他文档链接填入其中
BREAKING CHANGE: <breaking change summary>
<BLANK LINE>
<breaking change description + migration instructions>
<BLANK LINE>
<BLANK LINE>
Fixes #<issue number>
DEPRECATED: <what is deprecated>
<BLANK LINE>
<deprecation description + recommended update path>
<BLANK LINE>
<BLANK LINE>
Closes #<pr number>
Revert
还有一种特殊情况,如果当前commit用于撤销以前的commit,则必须以revert:开头,后面跟着被撤销commit的Header。
revert: fix(Controller): request url map typo
This reverts commit {commit hash id}
总结一下
把这都放在收费的文章里面,实在是可耻,请把可耻打在评论区,为了整个项目过程的连贯性,这里暂时还是吧这个放在这里,不过也会放到其他的免费转栏里面,不知道能否实现。
