美文网首页Git使用心得
Git规范:feature-xx、test、release分支

Git规范:feature-xx、test、release分支

作者: ___TheOne___ | 来源:发表于2023-04-11 18:11 被阅读0次

1. 常备分支

1.1 主分支: release。
在代码库中主分支有且仅有一个;所有提供给用户使用的正式版本,都基于这个主分支进行发布。
1.2 开发分支: test。
日常开发、公测验证在这个分支上完成。

2. 临时性分支

顾名思义,既然是‘临时性分支’,发布正式后都应该被删除。使得代码库的常设分支始终只有 release 和 test。

2.1 功能分支:
可采用 feature-*的形式命名
使用步骤:

  1. 基于主分支release,在Gitlab新建一个远程分支origin/feature-A;
  2. 在idea中,Fetch一下;
  3. 基于origin/feature-A分支,创建本地分支 feature-A,在此分支中开发代码;
  4. 代码本地自测完毕后,从本地分支 feature-A commit代码到 origin/feature-A中;
  5. 发布公测验证:
    切换分支到本地 开发分支test,如果需要则从origin/testpull一下最新代码;
    然后merge origin/feature-A,如果有代码冲突解决一下;
    然后从本地 开发分支test commit 代码到 origin/test
    然后基于开发分支test 进行打包,发布公测即可。
  6. 公测验证无误,发布正式:
    切换分支到feature-A, merge origin/release以获得主分支release中最新代码;
    如果合并有代码冲突解决一下,然后commit origin/feature-A
    然后基于feature-A进行打包,发布正式即可。
  7. 正式验证无误,代码合并入主分支release 【避免污染主分支】
    切换分支到本地 主分支release,如果需要则从origin/releasepull一下最新代码;
    然后merge origin/feature-A,再commit一下即可。

注意:
步骤5中,
test <---merge---origin/feature-A是 允许的;
origin/feature-A <---merge---test 是 禁止的
【test 分支代码比较混杂、肮脏,所以不能 git merge test】;
原因:
要始终保证【 feature-A = 主分支release最新代码 + 纯粹的功能A代码】
test分支中可能包含很多暂未发布正式的、未经测试验证、不完整的代码,如果test---merge---> orgin/feature-A 会污染自己的功能分支。

2.2 修复bug分支:
可采用 fixbug-*的形式命名
步骤同上

  1. 基于主分支release创建fixbug-B分支;
  2. 开发完毕,test<---merge---fixbug-B,发布公测;
  3. fixbug-B<---merge---release,发布正式;
  4. 正式验证无误,才 release<---merge---fixbug-B,避免污染主分支release。

2.3 预发布分支:
前提:如果一次发布涉及多个开发人员,多个开发分支,feature-Afeature-Bfeature-C等。

  1. 发布正式,基于主分支release创建 预发布分支 release-20230413
  2. 全量合入代码
    release-20230413 <---merge--- feature-A
    release-20230413 <---merge--- feature-B
    release-20230413 <---merge--- feature-C
  3. 基于预发布分支 release-20230413,打包代码,发布正式;
  4. 正式验证无误,才release <---merge--- release-20230413,避免污染主分支release。

3. git commit message格式规范

<type>(<scope>): <subject>
例如:
fix(设备管理): 设备sn支持模糊搜索
feat(三方应用): 修改时,初始化时间

type必填表示提交类型,值有以下几种:

  • feat - 新功能 feature
  • fix - 修复 bug
  • docs - 文档注释
  • style - 代码格式(不影响代码运行的变动)
  • refactor - 重构、优化(既不增加新功能,也不是修复bug)
  • perf - 性能优化
  • test - 增加测试
  • chore - 构建过程或辅助工具的变动
  • revert - 回退
  • build - 打包
    scope选填表示commit的作用范围,如数据层、视图层,也可以是目录名称
    subject必填用于对commit进行简短的描述

文章参考:Git提交话术规范

相关文章

  • Git的分支命名

    主要规范两点: git 分支命名规范 git提交记录规范 一. git 分支命名规范 git分支分为集成分支、功能...

  • 分支操作

    切换分支 git checkout test 切换到test分支 新建分支 git checkout -b te...

  • git分支命名规范

    git 分支命名规范 git 分支命名规范 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,...

  • git常用命令

    1、切换分支:git checkout test2、创建分支: git branch test (对于创建远程...

  • git branch分支

    创建分支 git branch test 查看分支 git branch git branch -a 推送分支 g...

  • git的使用

    git branch -a查看所有分支git checkout -b test01创建本地test01分支git ...

  • git 常用命令

    创建本地和远程未有的分支: git checkout -b test 将本地test分支推送到远程test git...

  • git 创建分支与合并

    一、 创建test分支提交步骤 1.列出所有分支 git branch -a 2.创建test分支 git bra...

  • Git创建分支

    一、 创建test分支提交步骤 1.列出所有分支 git branch -a 2.创建test分支 git bra...

  • 日志和代码规范网文

    日志规范 惊讶!我定的日志规范被CTO在全公司推广了 Git 分支设计规范 git规范 Git分支设计规范

网友评论

    本文标题:Git规范:feature-xx、test、release分支

    本文链接:https://www.haomeiwen.com/subject/drggddtx.html