介绍:
推荐看Using git-flow to automate your git branching workflow
在windows或者mac上面,可以直接使用source tree工具里嵌入的git-flow工具。(我没用过命令行--!)
安装
$ apt-get install git-flow
使用
(以下都是在git项目目录中操作的,也就是.git所在的文件夹)
第一步:执行$git flow init
会出现如下:
Which branch should be used for bringing forth production releases?
- master
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
Hooks and filters directory? [/home/xxx/gitflowtest/.git/hooks]
过程中,不断按回车即可。
通过$ git branch
指令可以看到,目前已经在develop分支了。hui dao le
* develop
master
第二步:举例栗子,相信你肯定可以举一反三
当我需要创建一个feature分支的时候,假设这个分支叫做wxshare
执行$ git flow feature start wxshare
会出现如下信息:可以看到git flow都为我们做了什么,并且还提示我们,开发万feature分支之后怎么合并回来。
切换到一个新分支 'feature/wxshare'
Summary of actions:
- A new branch 'feature/wxshare' was created, based on 'develop'
- You are now on branch 'feature/wxshare'
Now, start committing on your feature. When done, use:
git flow feature finish wxshare
通过$ git branch
指令可以看到,目前已经在 feature/wxshare分支了。
develop
* feature/wxshare
master
当开发万之后,我们按照上面的提示,执行:
$ git flow feature finish wxshare
git flow又告诉我们做了啥:
切换到分支 'develop'
Already up-to-date.
已删除分支 feature/wxshare(曾为 8b31924)。
Summary of actions:
- The feature branch 'feature/wxshare' was merged into 'develop'
- Feature branch 'feature/wxshare' has been locally deleted
- You are now on branch 'develop'
通过$ git branch
指令可以看到,又回到了 develop分支了。
* develop
master
开其他分支的方法,跟上面非常相像。
如果哪一天,我们不想用git-flow的时候,对自己的分支进行git管理就可以了。git-flow看上去是在按照理论上的规则帮我们管理分支,管理tag。
罗嗦两句:
develop分支是从master拉出来的。
feature分支是从develop拉出来,合并回develop分支的。
realese分支是从develop拉出来,分别会合并到master分支,back-merge到develop分支,打了一个release分支名的tag。
hotfix分支是从master拉出来,分别合并到master分支,back-merge到develop分支,打一个tag,内容为我输入的msg。
feature分支可以有多个开着的,realese和hotfix只能有一个开着的分支。
其他的目前没用过,可以自己试一下。
网友评论