Gitflow 視頻講解


 
 
 
 
 

關於

git-flow 是一個 git 擴展集,按 Vincent Driessen 的分支模型提供高層次的庫操作。 查看詳情
這個備忘清單展示了 git-flow 的基本操作和效果。

基礎建議

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

安裝

你需要有一個可以工作的 git 作為前提。 

Git flow 可以工作在 macOS, Linux 和 Windows之下

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

 

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。

 

開始

為了自定義你的項目,Git flow 需要初始化過程。

初始化

使用 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' 功能只是測試版本, 不建議使用
  • 如果你樂意提供翻譯,我很樂意整合它。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM