Gitflow工作流
现在的版本控制越来越重要,还记得毕业那会写毕业设计一个个版本,搞得头昏脑涨,不过当时已经接触了版本迭代在自己的机器上部署了一个SVN Server,用程序员的方式轻松解决一个个版本。
毕业后用过SVN,在超星时用得就是SVN,后来在世界邦用的是Git,对于版本控制来说那种都无所谓,不过对于用过Git的人来说,Git在分支和分布式版本这块和SVN还是有很大的区别,不过就冲Git优秀分支管理这块很适合客户端的开发,版本迭代快、团队人数不多,用起Git更能提高自己的效率。有了天书第六部,我们还怕张小凡么?
推荐
至于Git的基础命令我推荐几个比较好的网站:
其中Git入门指南使用资料汇总及文章推荐提到了git flow
–项目地址,git flow
其实是为了更好的利用Git分支对git 命令的一个封装,省时省力,不信来张图。
git flow
介绍
Git Flow模型中定义了主分支和辅助分支两类分支。其中主分支用于组织与软件开发、部署相关的活动;辅助分支组织为了解决特定的问题而进行的各种开发活动。
master分支
主分支,是你发版的release时打的tag,是稳定版本,每一个版本都要打一个version tag。
develop分支
develop分支,主分支开发分支,总是我们最新版本,虽然不稳定,但是有我们最新的版本,当开发完,QA通过,版本迭代完毕,将develop
merge
回主分支。
辅助分支
release分支
release分支是为发布新的产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。feature分支
:是develop的功能分支,如有几个同事同时开发,需要切换成几个小功能,每个人都需要从从develop中拉出一个feature分支,但是每个feature颗粒要尽量小,因为它需要我们能尽早merge会develop分支,否则冲突解决起来就没完没了。同时,当一个功能因为各种原因不开发了或者放弃了,这个分支直接废弃,不影响其他develop分支。hot-fix
分支:是一个比较特殊的分支,如图是从master分支上分出来的一个分支,如发版后发现有个紧急修复的bug,这时就需要用到hot-fix分支,修改完bug,结束了这个hot-fix
,回合并修改的内容到develop
分支和mastar
分支。
常用的分支约定:
用于新建发布分支的分支: develop
用于合并的分支: master
分支命名: release-* 或 release/*
截了一个git-flow 备忘清单网站上的图。
案例
创建开发分支
1 | git branch develop |
1 | git checkout -b develop origin/develop |
初始化git flow
1 | git flow init |
feature分支
开始创建新的需求分支
1 | git flow feature start feature1 #这时项目会自动切换 feature/feature1分支 |
提交日志到本地仓库
1 | git commit -a -m "修改日志" |
完成开发分支合并develop(自动)
1 | git flow feature finish feature1 |
发布到远程开发分支
1 | git push origin develop |
hotfix分支
1 | 更新master分支 |
参考文章
- 本文链接:http://ownwell.github.io/2016/08/17/git-work-flow/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!