Git Flow的基本使用

GitFlow

工具和流程


  • 使用Git作为版本控制工具
  • 使用GitFlow流程管理控制版本
# 使用git-flow脚本进行扩展命令,具体使用可参考以下网址:
http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html

https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow

# git-flow 下载
https://github.com/petervanderdoes/gitflow-avh/wiki#installing-git-flow

分支说明


项目长期分支:
  • master:主分支,负责记录上线版本的迭代,该分支代码与线上代码一致。
  • develop:开发分支,记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。
img
其他临时分支:
  • feature/*:功能分支,用于开发新功能,不同的功能创建不同的功能分支,功能分支开发完成并完成自测后合并到develop分支,然后删除该分支。
  • bugfix/*:bug修复分支,用于修复不紧急的bug,开发完成自测无问题后合并到develop分支,然后删除该分支。
  • release/*:发布分支,用于代码上线准备,该分支从develop分支创建,创建后在测试环境中测试,测试过程中发现bug需要在该分支上进行bug修复,所有bug修复后,在上线之前合并该release分支到master分支和develop分支。
  • hotfix/*:紧急bug修复分支,该分支在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后合该分支到master分支以便上线,同时需要合并到develop分支
img
分支类型 命名规范 创建自 合并到 说明
feature feature/add_some develop develop 新功能
release release/v0.9.0 develop develop 和 master 一次新版本的发布
hotfix hotfix/v0.9.1 master develop 和 master 生产环境紧急 bug 修复
bugfix bugfix/* develop develop 普通bug修复
分支对应服务器
  • dev服务器:feature功能分支/develop开发分支
  • staging服务器:develop开发分支
  • 生产机:master分支
  • 预发布:release分支

开发工作流(使用git flow脚本插件)


git-flow
工作流基础

1.「管理员」创建仓库,基于master分支建立develop分支

git flow init
git push -u origin develop

2.「开发者」拉取仓库

git clone ****
git checkout -b develop origin/develop
新功能开发流程

1.「开发者」在本地建立feature分支,并基于feature进行开发

# 建立feature分支
git flow feature start new_feature

# 将feature分支推到远程仓库,进行共享
git flow feature publish new_feature 或者 git push origin feature/new_feature

# 取得其他用户发布的新功能分支,并签出远程的变更
git flow feature pull origin some_new_feature

# 可以追踪其他开发者的远程分支
git flow feature track some_new_feature

2.「开发者」完成功能开发、代码检测及单元测试后,合并feature分支到本地的develop分支,提交merge request请求。或者直接提交merge request请求,合并feature分支到仓库develop分支,然后删除分支。注意:合并前确保develop分支为最新版,合并可能会有冲突,应该谨慎处理冲突

# 拉取代码,防止代码冲突
git pull origin develop
git flow feature finish new_feature

3.「管理员」进行merge request

版本发布流程

1.从develop分支中创建准备发布的release分支

# 拉取develop最新代码
git checkout develop
git pull
git flow release start v0.9.0

# 将release推送到远程仓库
git flow release publish v0.9.0

2.当发布版本测试完成之后,完成release分支,执行命令后release分支同步到develop自动删除

git flow release finish v0.9.0 -m "标签描述"

# 更新远程分支和push新标签 
git push origin develop master v0.9.0
线上Bug修复流程

1.基于master分支创建hotfix分支

git flow hotfix start v0.9.1

# 将分支同步到远程仓库
git flow hotfix publish v0.9.1

2.完成Bug修复,代码会合并会developmaster分支,相应地,master分支打上修正版本的tag

git flow hotfix finish v0.9.1
img

你可能感兴趣的:(Git Flow的基本使用)