GitFlow的使用及工程实践

GitFlow是一种比较好的版本控制工程实现方式,网上有很多介绍其操作方法的实现。但是对于新手来说不断的创建分支,合并分支,打tag需要大量的工作。幸好,网上有人发布了GitFlow工作流工具,将GitFlow所有的操作集中到几条命令实现。本文主要介绍GitFlow工具的使用(基于Xcode开发环境)。

首先需要安装GitFlow,对于mac这种类linux操作系统,安装非常简单,只需要一条命令就可以搞定。具体可以参照如下链接:https://github.com/nvie/gitflow/wiki/Installation

初始化只需要在当前需要版本控制的目录执行一条git flow init命令即可。如果执行命令git flow init -d则所有的分支命名方式都按照默认执行。这里为了方便演示git flow功能,采用不加-d参数,截图如下:

可以看到git flow命令已经按照gitflow工作流完成了所有分支的命名规则。输入git branch命令可以看到现在已经存在两个分支,一个是master,一个是develop,并且默认切换到develop分支。develop分支是作为我们日常开发的分支。

对于一些简单的功能开发,我们可以直接在develop分支上完成代码修改提交,对于一些需要一段时间来实现并且功能独立的模块可以创建feature分支来进行开发(feature分支是基于develop分支)。通过git flow feature start <name>可以创建相应的feature分支。如下截图所示:

GitFlow工具会基于当前的develop分支,创建相应的feature分支。并且自动切换到相应的feature分支。省去了我们很多操作。上传feature到服务器采用如下命令:git flow feature publish <name>。拉feature命令如下:git flow feature pull <remote> <name>。

当Feature开发完成后,通过git flow feature finish <name>可以直接合并分支到develop分支中。需要注意的是,如果需要保留当前feature分支,需要增加-k参数。如下命令:git flow feature finish -k <name>;

当develop分支开发到一定阶段时,可以进行版本发布。此时可以利用git flow创建release分支:git flow release start <release>。在release分支没有bug时,可以通过git flow release finish <release>完成release版本发布。当执行此命令时,会删除当前release分支,并把release分支的代码合并到masterdevelop分支中,同时基于当前release分支会打tag。执行命令后会同时用vim打开文本编辑器,此编辑器的内容为tag标签的更新日志,请将版本发布的更新信息写入然后保存。如下截图demo所示:

通过git tag命令可以看到当前的所有分支,通过git tag show <tag name>可以看到分支的更新内容。需要注意的是一定要执行命令git push origin –tags将tag分支push上去。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注