Git Flow分支管理

1、Git Flow常用分支

Git Flow常用分支主要分为两类:主干分支和辅助分支。其中,主干分支包括master和develop,会一直存在;辅助分支包括feature、release和hotfix。

1.1 主干分支

master

  • 所有提供给用户使用的正式版本,都在这个主分支上发布
  • 只读唯一分支,这个分支只能从其它分支(release/hotfix)合并,不能在这个分支上直接修改
  • 所有在master上的推送应该标记tag

develop

  • 主开发分支 , 基于master分支克隆
  • 包含所有要发布到下一个release的代码
  • 只读唯一分支,只能从其他分支(feature/release/hotfix)合并。

1.2 辅助分支

feature

  • 功能分支,基于develop分支克隆,主要用于新需求新功能开发
  • 功能开发完成后合并回develop分支进入下一个release,可删除当前feature分支
  • feature分支绝不能和master分支交互

release

  • 预发布分支,基于feature分支合并到develop之后  , 从develop分支克隆,之后不要合并新的改动到release分支
  • 测试人员对release分支进行功能测试,测试过程中发现的bug在本分支进行修复
  • 修复完成上线后合并到develop/master分支并推送(完成功能),在master打tag,记住release版本号
  • release分支不添加任何新功能,除了bug修复,文件生成和面向发行版的任务改动
  • 功能上线后可删除release分支

hotfix

  • 补丁分支,基于master分支克隆,用于对线上版本进行快速bug修复
  • 修复完成后合并到master/develop分支推送并打tag
  • 所有hotfix分支的改动会进入下一个release

2、Git Flow工作流程

下图较清晰的描述了Git Flow的工作流程:

3、Git Flow命令

1,创建develop分支

#从master拉出develop分支

#可选,获取最新版本。git pull origin master

git checkout -b develop master

#发布develop分支

git push -u origin develop

2,创建feature分支

#从develop拉出feature_v1.0功能分支

#可选,获取最新版本。git pull origin develop

git checkout -b feature_v1.0 develop

#发布feature_v1.0分支

git push -u origin feature_v1.0

#在feature_v1.0上开发一些功能

3,完成feature,合并到develop分支

#develop分支获取最新

git pull origin develop

#切换到develop分支

git checkout develop

#从feature分支合并到develop分支

git merge --no-ff feature_v1.0

#删除feature分支,也可以不删除

git branch -d feature_v1.0

4,开始release

#从develop拉出一个release分支

#可选,获取最新版本。git pull origin develop

git checkout -b release_v1.0 develop

#fix bugs

5,完成release,合并到master分支和develop分支,在master打上tag标记

#合并到master

git checkout master

git merge --no-ff release_v1.0

#在master打tag标记

git tag release1.0 master

git push --tags

#合并到develop

git checkout develop

git merge --no-ff release_v1.0

6,开始hotfix

#从主线master拉出一个hotfix分支

#可选,获取最新版本。git pull origin master

git checkout -b hotfix_v1.0.1 master

7,完成hotfix,合并到master和develop,并在master上打tag。

#合并hotfix_v1.0.1到master

git checkout master

git merge --no-ff hotfix_v1.0.1

#在master打上tag

git tag hotfix1.0.1 master

git push --tags

#合并hotfix_v1.0.1到develop

git checkout develop

git merge --no-ff hotfix_v1.0.1

Git Flow 常用命令如下:

###初始化###
$ git flow init

###功能开发###
查看feature分支:git flow feature
开始新feature:git flow feature start <name> [<base>]    (<base>必须是develop分支的一个提交)
push一个feature到远程:git flow feature publish <name>
从远程pull一个feature:git flow feature pull <remote> <name>
完成一个feature:git flow feature finish <name>

###代码发布###
查看release分支:git flow release
开始一个release: git flow release start <release> [<base>]    (<base>必须是develop分支的一个提交)
完成一个 release:git flow release finish <release>

###问题修复###
查看hotfix分支:git flow hotfix
开始一个hotfix:git flow hotfix start <release> [<base>]    (<base>必须是master分支的一个提交)
完成一个hotfix:git flow hotfix finish <release>

4、Git Flow工具

4.1 SourceTree

4.2 vscode插件

4.3 idea插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值