1. 程式人生 > >使用git-flow來幫助管理git程式碼

使用git-flow來幫助管理git程式碼

對git不熟悉的我,經常把git提交搞得很亂,導致在master上有許多無用的commit,最終決定好好地看一下git的使用教程,卻不小心發現了還有一個git-flow的工具可以幫助我管理好git專案的程式碼。

git-flow在ubuntu上使用比較簡單。首先安裝,可以通過apt-get來獲取。命令如下:

sudo apt-get install git-flow

如果是在windows下,可以參考這篇文章進行安裝:http://my.eoe.cn/sunxun/archive/158.html

如果你的git已經裝好,則方便多了,下載下面兩個地址的檔案,並解壓出getopt.exe和libintl3.dll放到git的安裝目錄的bin目錄下。

http://sourceforge.net/projects/gnuwin32/files/util-linux/2.14.1/util-linux-ng-2.14.1-bin.zip/download

http://sourceforge.net/projects/gnuwin32/files/util-linux/2.14.1/util-linux-ng-2.14.1-dep.zip/download

然後檢出github上gitflow專案,如下命令:

git clone --recursive git://github.com/nvie/gitflow.git
進入並執行裡面的contrib\msysgit-install.cmd,提示覆製成功,就可以了。

接下來是初始化專案。我在我原來的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/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

完成之後,通過git branch 命令,可以看到它為我們新建好了一個develop的分支。

接下來我將繼續使用,這篇筆記再慢慢補充。

修復一個bug。

git flow hotfix start 3
它會建立一個基於master的分支hotfix/3,並切換到當前分支。

當修復完成後,可以執行以下命令:

git flow notfix finish 3

增加一個功能特性

git flow feature start demo

它會建立一個分支feature/demo,並切換到該分支。

當功能完成:
git flow feature finish demo
它會有feature/demo分支合併到develop分支,然後切換回develop分支,並刪除feature/demo分支。

功能完成,要合併到主分支,這時可以執行

git flow release start v0.7.0
它會建立一個release/v0.7.0分支,並切換到該分支。

然後在這裡進行測試。如果測試沒問題,則執行以下命令:

git flow release finish v0.7.0
它會將release/v0.7.0分支的內容合併到master分支和develop分支,並且打上tag v0.7.0,然後刪除release/v0.7.0分支。