Git使用规范

git作为当下最流行的分布式版本控制系统,有相应的操作规范及提交流程。git环境配置完成后,所有操作均可使用命令行实现,仍然建议安装GUI软件,或者在idea安装相关插件(如可以规范commit格式git commit)。

分支管理

  1. master分支:主分支、最稳定的分支,不允许在master分支直接提交代码。以master打Tag标记一个版本的发布。gitlab上叫main分支。
  2. dev分支:功能最全、bug修复后的代码,灰度测试分支。新功能开发必须基于dev分支创建新功能的feat分支。
  3. feat分支:开发新功能,由dev为基础创建的新分支。分支命名规则:feat-功能特性。功能开发测试完后,及时合并到dev分支,并删除该分支。
  4. fix分支:线上出现紧急bug,需要及时修复,以master分支为基础,建fix分支,修复完成后,需要合并到 master分支和dev分支,并删除该分支。分支命名规则:项目-fix-功能特性,如:fix-profile

  说明:稳定且长期存在的分支只有 master 和 dev 分支,别的分支则在完成对应开发使命之后都会合并到这两个分支然后被删除。

提交规范

代码修改后,做git提交时需要书写commit message。为保证清晰明了,commit message也有相应的格式,一般包括Header,Body,Footer。Header是必需的,Body与Footer可以省略。

Header部分只有一行,包括三个字段:type(必填)、scope(影响范围,选填)和subject(必填)。格式如:<type>(<scope>):<subject>

type :用于说明 commit 的类别,有如下格式。feat->新功能;fix->修复bug;docs->修改文档;style->代码格式修改;refacter→已有功能重构;perf->性能优化;test->增加测试;build->改变了build工具;chore->构建过程或辅助工具的变动;ci->对CI配置文件和脚本的更改

scope:用来说明本次Commit影响的范围,即简要说明修改会涉及的部分。

subject:用来简要描述本次改动,概述就好了,因为后面还会在Body里列出具体信息。

Body记录本次代码改动的详细信息

Footer只用于两种情况

  • 不兼容变动:如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。

  • 关闭 Issue:如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。

流程管理

多人协作开发

线上有两个稳定的同步分支dev、master分支,两个开发者分别从master拉取(pull或者checkout)分支到本地m1、m2,m2先开发完成自测通过,推送(push)到远程分支dev上,(此时测试人员可以根据时间节点选择是否先测试m2推送的分支),m1后开发完成,重新拉取dev分支代码(如有冲突,本地解决),自测完成推送到dev分支,从dev分支进行测试,测试完成后merge到master分支,并发版V2.0.0

       

线上bug紧急修复

项目迭代开发阶段,线上有bug需要紧急修复,需要从master分支拉取m1,修复完成后推送到远程fix分支,fix分支测试通过后发版上线,fix分支合并到dev分支,m2重新拉取dev分支继续开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值