介紹:
推薦看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只能有一個開著的分支。
其他的目前沒用過,可以自己試一下。