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分支都从该分支创建。

其他临时分支:
-
feature/*
:功能分支,用于开发新功能,不同的功能创建不同的功能分支,功能分支开发完成并完成自测后合并到develop分支,然后删除该分支。 -
bugfix/*
:bug修复分支,用于修复不紧急的bug,开发完成自测无问题后合并到develop分支,然后删除该分支。 -
release/*
:发布分支,用于代码上线准备,该分支从develop分支创建,创建后在测试环境中测试,测试过程中发现bug需要在该分支上进行bug修复,所有bug修复后,在上线之前合并该release分支到master分支和develop分支。 -
hotfix/*
:紧急bug修复分支,该分支在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后合该分支到master分支以便上线,同时需要合并到develop分支

分支类型 | 命名规范 | 创建自 | 合并到 | 说明 |
---|---|---|---|---|
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脚本插件)

工作流基础
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修复,代码会合并会develop和master分支,相应地,master分支打上修正版本的tag
git flow hotfix finish v0.9.1

网友评论