使用git-flow來幫助管理git程式碼
阿新 • • 發佈:2019-01-08
對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分支。