Git使用心得

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

2023-04-11  本文已影响0人  ___TheOne___

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必填表示提交类型,值有以下几种:

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

上一篇下一篇

猜你喜欢

热点阅读