前端分支规范

科技资讯 投稿 10100 0 评论

前端分支规范

基本概念

常设分支

    master - 主分支,用于正式发布
  • develop - 开发分支,用于创建新开发feature分支

临时分支

    feature/*** - 任务开发分支

  • hotfix/*** - 线上热修分支

环境

正式环境:production

开发环境:development

分支说明

master(主分支)

master为主分支,用于部署到正式环境production,一般由releasehotfix分支合并,所有提供给用户使用的正式版本,都在这个主分支上发布,任何情况下不允许直接在master分支上修改代码。

develop(开发)

develop为开发分支,始终保持最新完成以及 bug 修复后的代码,可根据需求大小程度(工时是否小于一天)确定是由 feature 分支合并,还是直接在上面开发。

release(预上线分支、预发布分支)

release为预上线分支,用于部署到测试环境testing,发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。从master或develop拉取,测试完成merge回master和develop

存在 未测试完毕的需求,就基于master创建。

不存在 未测试完毕的需求,就基于develop创建。

release分支上直接修改代码。

feature 分支

feature为需求开发分支,从develop拉取,开发feature完成,merge回develop,一旦该需求上线,便将其删除。

hotfix(线上热修分支)

hotfix 为紧急修复分支,从master拉取,修复并测试完成merge回master和develop,一旦修复上线,便将其删除。

基本流程

    每开发一个新功能,创建一个feature分支,多人在此分支上开发;
  1. 提测时,将master分支和需要提测的分支汇总到一个release分支,发布测试环境;
  2. 发现bug时,在feature分支上debug后,再次回到2;
  3. 发布生产环境后,将release分支合并到master分支,删除release分支。

# 1 从develop分支创建feature分支
git branch -b feature/branch-test develop

# 2-1 从master或develop分支(具体条件看上文,这里选择master)创建release分支
git branch -b release master

# 2-2 切换到release分支,把feature/branch-test分支合并到release分支
git checkout release
git merge feature/branch-test

# 4-1
git checkout master
git merge release

# 4-2 删除feature和release分支(本地)
git branch -d feature/branch-test
git branch -d release

删除分支:

# 清除本地remote
git remote prune origin
# 删除本地分支(-D为强制删除)
git branch -d|-D  [branchName]
# 删除远程分支
git push origin --delete [branchName]

其他场景

发布测试环境(release分支)

    确认要发布的feature 分支上的功能是否开发完毕并提交;

    feature分支(可能有多个)

  1. 命名规则(可选):release-分支创建日期-新特性和待发布版本号

  2. 测试完成后删除本次发布的所有feature分支。

修复待发布版本中的Bug(feature分支)

发布正式环境

    根据修复后的release分支再次将master合并,打包发布生产环境;

  1. 在master分支上创建标签(可选),命名规则:tag-日期-新特性和版本号,版本可根据需要添加,作为发版里程碑标记;

修复线上Bug(hotfix分支)

    从master 分支某个tag 上创建一个 hotfix 分支(热修复分支),一般是最新的tag应该和当前生产环境对应;

  1. 再次发布正式环境流程;

  2. 在master分支上创建标签(可选),命名规则:tag-日期-新特性和版本号,版本可根据需要添加,作为发版里程碑标记;

  3. 删除 hotfix 分支。

编程笔记 » 前端分支规范

赞同 (61) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽