侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 108 篇文章
  • 累计创建 28 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Git -- 分支管理

一朵云
2021-03-11 / 0 评论 / 2 点赞 / 8048 阅读 / 2788 字

前言:

  几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

master(主分支)

  存在一条主分支(master)。

  所有用户可见的正式版本,都从master发布(也是用于部署生产环境的分支,确保master分支稳定性)。

  主分支作为稳定的唯一代码库,不做任何开发使用。

  master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码

develop(开发分支)

  存在一条开发分支(develop)。

  这个分支维护了当前开发中代码的主线,始终保持代码新于master以及bug修复后的代码。

  持续集成、最新隔夜版本的生成等都是基于这个分支。由于当前版本迭代较快,开发分支只提供拉取,不进行实际开发。一般开发的新功能时,feature分支都是基于develop分支下创建的。

feature(功能分支)

  临时性多个功能分支(feature)

  开发新功能时,以develop为基础创建feature分支。

  从develop拉取。开发feature完成,merge回develop。 为了降低对其他feature的影响,一般在提测前merge回develop分支。

  分支命名: feature/*开头的为特性分支, 命名规则: feature/user_module、 feature/order_module

hotfix(修补bug分支)

  临时性多个bug修复分支(fixbug),用于修复线上问题。

  从master拉取,修复并测试完成merge回master和develop。 如果修复期间,有其他版本合并入master ,需要同步到fixbug版本,并进行测试。

  分支命名: hotfix/*开头的为修复分支,它的命名规则与 feature 分支类似。

release(预发布分支)

  临时性多个预发布(测试)分支(release)

  release 为预上线分支,发布提测阶段,会release分支代码为基准提测。

  用于QA测试。 从develop拉取,测试完成merge回master和develop。如果测试期间,有其他版本合并入master,需要同步到release版本,并进行测试。

补充:

  多人合作的情况下,各位开发可各自从develop拉取分支开发,当要开发好需要提测时,可将各自的分支merge到test分支上。

  假设有两位开发者,分别叫小明和小强。小明负责业务a的开发,从develop上拉取了分支“xiaoming/feature/业务a”;小强负责业务b的开发,从develop上拉取了分支“xiaoqiang/feature/业务b”。

  当需要提测时,合并提测分支test。(idea的操作:先切换到test分支,在idea右下角选中想要合并的分支,Merget "xiaoming/feature/业务a"和“xiaoqiang/feature/业务b”到"test")

合并代码.png

2

评论区