玩轉 git-flow 工作流

1、關於git-flow

git-flow 是一個 git 擴展集,按 Vincent Driessen 的分支模型提供高層次的庫操作。Vincent Driessen 詳情
在這裏插入圖片描述
git-flow 是一個基於歸併的解決方案,它並沒有提供重置(rebase)特性分支的能力。

gitkraken是一個極出色的 git 界面客戶端,已經提供了 git-flow 的支持。

2、安裝

macOS

Homebrew

$ brew install git-flow-avh

Macports

$ port install git-flow-avh
Linux
$ apt-get install git-flow
Windows
$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

3、開始探索整個過程

使用之前,先搭建好自己的git倉庫。新特性的開發是基於 ‘develop’ 分支的,創建好develop分支。

3.1初始化(init)

使用 git-flow,從初始化一個現有的 git 庫。

$ git flow init

初始化過程中會回答幾個關於分支的命名約定的問題,建議使用默認值(一路回車)。
在這裏插入圖片描述

3.2特性(feature)

3.2.1開發一個新功能

新特性的開發是基於 ‘develop’ 分支的,通過下面的命令開始開發新特性:

$ git flow feature start hfbin

這個操作創建了一個基於’develop’的特性分支,並切換到這個分支之下。在這裏插入圖片描述

3.2.2完成一個新功能

完成開發新特性,會將合併 hfbin 分支到 ‘develop’,刪除這個新特性分支,切換回 ‘develop’ 分支。

git flow feature finish hfbin

在這裏插入圖片描述

3.2.3 發佈新特性

可以將自己的分支發佈到遠程倉庫上,使得其他用戶也可以使用你的分支。

$ git flow feature publish hfbin
3.2.4 獲取發佈的新特性分支

取得其它用戶發佈的新特性分支,並簽出遠程的變更。

$ git flow feature pull origin hfbin

3.4 發佈版本(release)

支持一個新的用於生產環境的發佈版本。允許修正小問題,併爲發佈版本準備元數據。

3.4.1 開始準備release版本

開始準備release版本,使用 git flow release 命令,它從 ‘develop’ 分支開始創建一個 release 分支。

$ git flow release start v1.0.0

創建 release 分支之後立即發佈允許其它用戶向這個 release 分支提交內容。命令十分類似發佈新特性:

$ git flow release publish v1.0.0

在這裏插入圖片描述

3.4.2 完成 release 版本

完成 release 版本是一個大 git 分支操作。它執行下面幾個動作:
1 、歸併 release 分支到 ‘master’ 分支
2、用 release 分支名打 Tag
3、歸併 release 分支到 ‘develop’
4、移除 release 分支

$ git flow release finish v1.0.0

在這裏插入圖片描述

3.4 緊急修復(hotfix)

緊急修復來自這樣的需求:生產環境的版本處於一個不預期狀態,需要立即修正。 有可能是需要修正 master 分支上某個 TAG 標記的生產版本。

3.4.1 開始 git flow 緊急修復

像其它 git flow 命令一樣:

git flow hotfix start VERSION [BASENAME]

VERSION 參數標記着修正版本。你可以從 [BASENAME]開始,[BASENAME]爲finish release時填寫的版本號
在這裏插入圖片描述

3.4.2 完成緊急修復

當完成緊急修復分支,代碼歸併回 develop 和 master 分支。相應地,master 分支打上修正版本的 TAG。

git flow hotfix finish VERSION

在這裏插入圖片描述

4、命令總結

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章