Git Flow 用法&理解

git flow 工作流程。如下圖所示。

 

master 分支

master 分支主要方穩定、隨時可上線的版本。這個分支只能從別的分支上合並過來,一般來講,從develop 上合併,或者從hotfix分支上合並過來。不能直接在master 分支上進行commit文件。因爲是穩定的版本,所以每次版本發佈都要在這個分支上添加標籤(tag)。

develop 分支

develop 分支是所有開發分支的母體,所有的開發分支都要從develop上切出來,開發完成之後最後都要合併到develop上。     即feature分支都是由develop分支切出來的。  一次只在一個分支中開發。

hotfix 分支

hotfix 分支用來修復生產中的緊急bug,由於develop分支尚處於開發過程中,代碼不穩定,不能直接應用於生產。所以從master分支上切出一個分支,修復完成之後合併到master分支,並且合併到develop上。

release 分支 (finish 此版本會在本地創建tag)

release 分支可以稱之爲預發佈的版本。當我們認爲develop版本的代碼已經趨於成熟,我們可以打一個release分支。在release 分支上測試完成之後,要將代碼合併到master分支和develop上。master 分支是線上版本,而合併到develop版本是因爲,在測試過程中,一些細節的東西可能會修改,因此這些優化的內容也應該合併到最終版本以及開發版本中。

feature 分支

feature 分支是最經常使用的分支了。當我們收到一個新的開發功能時,應該在develop分支上切出一個feature分支。用來完成新功能的開發,開發完成之後,要合併進develop分支上。

 

git  flow的開發流程。   

feature分支開發完了---測試通過---合併到develop—合併到master---git  tag release-x.x.x---  (Jenkins) 構建出包。---給QA測試---有bug就從master拉一個hotfix分支---改完bug合併到develop---合併到master---git tag---打包迴歸測試---合格上線。

 

上述操作是本地執行的。  包括git  flow 創建的分支。  需要push到git庫。    git  push origin  feature/newBranch

合併完develop/master分支也是需要  git  push  origin  develop  將改動推到遠程。

ubuntu    apt-get install  git-flow

git  flow  init 初始化   next

git  flow  feature  start   test    本地創建分支 feature/test 並切換、base分支是develop        需要 git push origin feature/test  將分支push到遠程。

git  flow  feature  finish  test    本地test分支合併到develop分支。並刪除遠程&本地的  feature/test分支。     使用後需要將develop 分支push到遠程。  git  push origin develop

git  flow  release  start  1.0.0    本地創建分支 release/1.0.0並切換、base分支是develop       需要git  push  origin  release/1.0.0 將分支push到遠程。

git  flow  release  finish  1.0.0   本地release/1.0.0分支合併到develop && master    需要將本地develop && master 分支push到遠程。   並且會在本地創建一個tag  需要  git  push --tags  將tag 提交到遠程。tag名稱爲 1.0.0

git  flow  hotfix   start  pro_bugfix   本地創建分支hotfix/pro_bugfix  並切換、base分支是master     需要 git push origin hotfix/pro_bugfix  將分支push到遠程。

git  flow  hotfix  finish  pro_bugfix   本地hotfix/pro_bugfix 分支合併到develop && master    需要將本地develop && master 分支push到遠程。   並且會在本地創建一個tag  需要  git  push --tags  將tag 提交到遠程。tag名稱爲pro_bugfix

 

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