Git flow 概念

Git flow 概念

1.新功能開發工作流

1.1切換到本地倉庫工作區

 cd /home/timerhunter/workspace

1.2從遠程倉庫克隆代碼到本地倉庫

 $git clone https://xxxx@localhost:8443/r/valve/V5-Lora.$git

1.3基於master分支,創建develop分支

  $git checkout master
  $git checkout -b develop
  $git push origin develop  /* 推送develop分支到遠程倉庫 */

注:編碼工作主要在develop分支,master分支主要用來發布穩定版本

1.4在本地倉庫的開發流程

完成一個功能點或者一天的工作結束時,將代碼提交到本地倉庫

 /* 提交修改到緩衝區 */
 $git add .
/* 提交修改到本地倉庫 */
/* 如果是修復的BUG,應該在修改說明的最開始添加 Bug#ID,多個Bug用逗號分隔,例如Bug#002,003 */
/* 如果是完成了一個指派的任務,應該在修改說明的最開始添加Task#TaskID,例如Task#165 */
$git commit -m "Bug#123 修改說明"
/* 每完成一個功能點可以對代碼進行打包 */
$git tag -m "簡要說明增加/修復/刪除了什麼功能" v0.0.0.170718

注:不是每一個Tag都需要提交到遠程倉庫,比如可以在完成一個功能點的編碼工作後未編譯就打一個包,僅存儲於本地倉庫,在編譯成功&測試通過後,再打一個新的Tag包(里程碑Tag包),僅將里程碑Tag包推送到遠程倉庫

1.5 推送代碼到遠程倉庫

當完成一個功能點或階段工作時,將代碼推送到遠程倉庫develop分支

 /* 執行代碼拉取操作,防止代碼衝突 */
 $git pull
 /* 解決代碼衝突後,推送代碼到遠程倉庫*/
 $git push origin develop

注:禁止將未編譯或編譯不通過的代碼提交到遠程倉庫,如果編碼工作進行未完成可以提交到本地倉庫中,等待該功能點全部實現後再將代碼推送到遠程倉庫中。

1.6 將代碼發佈到測試分支

階段性的開發工作已完成,啓動小批量測試工作,將代碼發佈到測試分支release

 $git checkout develop
 $git checkout -b release
 $git push origin release

1.7 測試工程師提交Bug後修復

從遠程倉庫拉取代碼

/* 克隆倉庫 */

 $git clone https://[email protected]:8443/r/. admin/test.$git

/* 查看遠程倉庫分支情況:克隆倉庫時只能克隆master分支,因此需要拉取指定分支,我們使用$git branch -r查看遠程分支情況 */

  $git branch -r
  origin/HEAD -> origin/master
  origin/dev
  origin/master
  origin/release

拉取測試分支

  $git checkout -b release origin/release

1.8測試工作完成後,合併代碼到develop分支然後到主線

$git checkout develop
$git merge release

1.9開發工作和測試工作都完畢後,發佈時將develop分支合併到主線

    $git checkout master
     $git merge develop

1.10階段開發完畢,打一個里程碑Tag包

  • 創建里程碑Tag

       $git tag -m "Task#003 v1.0.0 首版發佈" v1.0.0.170718
    
  • 推送里程碑Tag到遠程倉庫

       $git push origin v1.0.0.170718
    

2.發佈後的產品Bug修復工作流

2.1 獲取Bug產品的軟件發佈版本號

2.2 查找里程碑Tag

查詢里程碑及其提交說明

             $git tag -n1 -l v*

2.3 基於里程碑Tag創建分支

git checkout -b [創建的分支名稱] [里程碑Tag名稱]

      $git checkout -b bugfix-v1.0.0.170718 v1.0.0.170718

2.4 修復代碼後可以查詢修改過的地方

  $git diff

2.5 修復完畢後分別合併到develop分支和master分支

 $git checkout develop
 $git merge hotfix-v1.0.0.170718
 $git push origin develop
 $git checkout master
 $git  merge develop
 $git push origin master

2.6創建新的里程碑Tag

 $git tag -m "Bug#002 修復某某Bug" v1.0.1.170719

推送到遠程倉庫

 $git push origin v1.0.1.170719

2.7刪除bugfix分支

刪除本地分支 $git branch -d [本地分支名]

 $git branch -d bugfix-v1.0.0.170718

刪除遠程分支 $git push origin :[遠程分支名]

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