在Ubuntu下的git-flow

介绍:

推荐看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只能有一个开着的分支。
其他的目前没用过,可以自己试一下。

你可能感兴趣的:(在Ubuntu下的git-flow)