git-flow 工做流 備忘清單

關於

git-flow 是一個 git 擴展集,按 Vincent Driessen 的分支模型提供高層次的庫操做。 查看詳情html

★ ★ ★linux

這個備忘清單展現了 git-flow 的基本操做和效果。git

★ ★ ★github

基礎建議

  • Git flow 提供了極出色的命令幫忙以及輸出提示。請仔細閱讀並觀察發生了什麼事情...
  • macOS 程序 Sourcetree 是一個極出色的 git 界面客戶端,已經提供了 git-flow 的支持。
  • - Git-flow 是一個基於歸併的解決方案,它並無提供重置(rebase)特性分支的能力。

★ ★ ★bash

安裝

  • 你須要有一個能夠工做的 git 做爲前提。
  • Git flow 能夠工做在 macOS, Linux 和 Windows之下

★ ★ ★服務器

macOS

Homebrew
$ brew install git-flow-avh
Macports
$ port install git-flow-avh

Linux

$ apt-get install git-flow

Windows (Cygwin)

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

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

更多的 git flow 安裝指引,請閱讀git flow wiki.ide

install git-flow

開始

爲了自定義你的項目,Git flow 須要初始化過程。工具

★ ★ ★post

初始化

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

git flow init

你必須回答幾個關於分支的命名約定的問題。
建議使用默認值。

 

特性

  • 爲即將發佈的版本開發新功能特性。
  • 這一般只存在開發者的庫中。

★ ★ ★

增長新特性

新特性的開發是基於 'develop' 分支的。

經過下面的命令開始開發新特性:

git flow feature start MYFEATURE

這個操做建立了一個基於'develop'的特性分支,並切換到這個分支之下。

 

完成新特性

完成開發新特性。這個動做執行下面的操做.

  • 合併 MYFEATURE 分支到 'develop'
  • 刪除這個新特性分支
  • 切換回 'develop' 分支
git flow feature finish MYFEATURE
 

發佈新特性

你是否合做開發一項新特性?
發佈新特性分支到遠程服務器,因此,其它用戶也可使用這分支。

git flow feature publish MYFEATURE
 

取得一個發佈的新特性分支

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

git flow feature pull origin MYFEATURE

你可使用 git flow feature track MYFEATURE跟蹤在origin上的特性分支。

 

做一個release版本

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

★ ★ ★

開始準備release版本

開始準備release版本,使用 git flow release 命令.

它從 'develop' 分支開始建立一個 release 分支。

 

git flow release start RELEASE [BASE]

你能夠選擇提供一個 [BASE]參數,即提交記錄的 sha-1 hash 值,來開啓動 release 分支. 這個提交記錄的 sha-1 hash 值必須是'develop' 分支下的。

★ ★ ★

建立 release 分支以後當即發佈容許其它用戶向這個 release 分支提交內容是個明智的作法。命令十分相似發佈新特性:

git flow release publish RELEASE

(你能夠經過 
git flow release track RELEASE 命令簽出 release 版本的遠程變動)

 

完成 release 版本

完成 release 版本是一個大 git 分支操做。它執行下面幾個動做:

  • 歸併 release 分支到 'master' 分支
  • 用 release 分支名打 Tag
  • 歸併 release 分支到 'develop'
  • 移除 release 分支
git flow release finish RELEASE
 

緊急修復

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

★ ★ ★

開始 git flow 緊急修復

像其它 git flow 命令同樣, 緊急修復分支開始自:

git flow hotfix start VERSION [BASENAME]

VERSION 參數標記着修正版本。你能夠從 [BASENAME]開始,[BASENAME]爲finish release時填寫的版本號

 

完成緊急修復

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

git flow hotfix finish VERSION
 
 

Backlog

★ ★ ★

  • 並不是全部可用的命令都涵蓋在這裏,這裏包含有最重要的部分命令。
  • 你依舊能夠繼續使用你所知道和了解的 git 命令, git flow 只是一個工具集合。
  • 'support' 功能只是測試版本, 不建議使用
  • 若是你樂意提供翻譯,我很樂意整合它。
相關文章
相關標籤/搜索