Git Flow

2018-02-24 16:16 更新

安裝

  • 你需要有一個可以工作的 git 作為前提。
  • Git flow 可以工作在 OSX, Linux 和 Windows之下

OSX Homebrew:

$ brew install git-flow

OSX Macports:

$ port install git-flow

Linux:

$ apt-get install git-flow

Windows (Cygwin):

安裝 git-flow, 你需要 wget 和 util-linux。

$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash

開始

  • 為了自定義你的項目,Git flow 需要初始化過程。
  • 使用 git-flow,從初始化一個現(xiàn)有的 git 庫內(nèi)開始。
  • 初始化,你必須回答幾個關(guān)于分支的命名約定的問題。建議使用默認值。
git flow init

特性

  • 為即將發(fā)布的版本開發(fā)新功能特性。
  • 這通常只存在開發(fā)者的庫中。

創(chuàng)建一個新特性:

下面操作創(chuàng)建了一個新的feature分支,并切換到該分支

git flow feature start MYFEATURE

完成新特性的開發(fā):

完成開發(fā)新特性。這個動作執(zhí)行下面的操作:

  1. 合并 MYFEATURE 分支到 'develop'
  2. 刪除這個新特性分支
  3. 切換回 'develop' 分支
git flow feature finish MYFEATURE

發(fā)布新特性:

你是否合作開發(fā)一項新特性? 發(fā)布新特性分支到遠程服務(wù)器,所以,其它用戶也可以使用這分支。

git flow feature publish MYFEATURE

取得一個發(fā)布的新特性分支:

取得其它用戶發(fā)布的新特性分支。

git flow feature pull origin MYFEATURE

追溯遠端上的特性:

通過下面命令追溯遠端上的特性

git flow feature track MYFEATURE

做一個release版本

  • 支持一個新的用于生產(chǎn)環(huán)境的發(fā)布版本。
  • 允許修正小問題,并為發(fā)布版本準備元數(shù)據(jù)。

開始創(chuàng)建release版本:

  • 開始創(chuàng)建release版本,使用 git flow release 命令。
  • 'release' 分支的創(chuàng)建基于 'develop' 分支。
  • 你可以選擇提供一個 [BASE]參數(shù),即提交記錄的 sha-1 hash 值,來開啟動 release 分支。
  • 這個提交記錄的 sha-1 hash 值必須是'develop' 分支下的。
git flow release start RELEASE [BASE]

創(chuàng)建 release 分支之后立即發(fā)布允許其它用戶向這個 release 分支提交內(nèi)容是個明智的做法。命令十分類似發(fā)布新特性:

git flow release publish RELEASE

(你可以通過?git flow release track RELEASE?命令追溯遠端的 release 版本)

完成 release 版本:

完成 release 版本是一個大 git 分支操作。它執(zhí)行下面幾個動作:

  1. 歸并 release 分支到 'master' 分支。
  2. 用 release 分支名打 Tag
  3. 歸并 release 分支到 'develop'
  4. 移除 release 分支。
git flow release finish RELEASE

不要忘記使用git push --tags將tags推送到遠端

緊急修復(fù)

緊急修復(fù)來自這樣的需求:生產(chǎn)環(huán)境的版本處于一個不預(yù)期狀態(tài),需要立即修正。有可能是需要修正 master 分支上某個 TAG 標記的生產(chǎn)版本。

開始 git flow 緊急修復(fù):

像其它 git flow 命令一樣, 緊急修復(fù)分支開始自:

$ git flow hotfix start VERSION [BASENAME]

VERSION 參數(shù)標記著修正版本。你可以從?[BASENAME]開始,[BASENAME]`為finish release時填寫的版本號

完成緊急修復(fù):

當完成緊急修復(fù)分支,代碼歸并回 develop 和 master 分支。相應(yīng)地,master 分支打上修正版本的 TAG。

git flow hotfix finish VERSION

Commands

2015-06-24/558a14aa361c8

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號