git開發部署流程

git的分支操做

https://blog.csdn.net/QH_JAVA/article/details/77853605git

Git 開發部署流程bash

採用業界成熟方案 Git Flow 分支方式進行開發;一個經典的 Git 開發/部署流程包括幾個環境:本地開發環境、線上測試環境、線上生產環境,分別對應git的本地工做環境、develop 分支、master 分支ssh

無圖言屌

流程圖

  • 本地開發環境 : 本地倉庫分支工做環境
  • 線上測試環境 : 遠程 develop 分支
  • 線上生產環境 : 遠程 master 分支

先在本地進行開發,作一次完整的提交 push 到 develop 分支,進行線上測試,一切正常 push 到 master 分支,一個完整的部署過程over.測試

Git Flow

圖示

git flow

分支職責

  • master : 最爲穩定功能最爲完整的隨時可發佈的代碼;
  • develop : 永遠是功能最新最全的分支;
  • hotfix : 修復線上代碼的 bug;
  • feature : 某個功能點正在開發階段;

確切的說 master、develop 分支大部分狀況下都會保持一致,只有在上線前的測試階段 develop 比 master 的代碼要多,一旦測試沒問題,準備發佈了,這時候會將 develop 合併到 master 上.ui

可是咱們發佈以後又會進行下一版本的功能開發,開發中間可能又會遇到須要緊急修復 bug ,一個功能開發完成以後忽然需求變更了等狀況,因此 Git Flow 除了以上 master 和 develop 兩個主要分支之外,還提出瞭如下三個輔助分支:spa

  • feature : 開發新功能的分支, 基於 develop, 完成後 merge 回 develop
  • hotfix : 修復 master 上的問題, 等不及 release 版本就必須立刻上線. 基於 master, 完成後 merge 回 master 和 develop

實際開發中release分支用的比較少,對咱們不太適用,因此不在開發流當中.net

流程

下載項目

首先安裝 SSH keys : 詳細教程3d

項目管理員會首選在遠程倉庫建立倉庫,並創建develop分支.code

做爲開發人員,在本地:server

git clone git@code.aliyun.com:your_org/your_project.git git branch -a -v touch README.md git add README.md git commit -m "add README" git push -u origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

創建 develop 分支

git checkout -b develop master
## add & commit ..... git push –set-upstream origin master git branch -a -v
  • 1
  • 2
  • 3
  • 4

分支開發

以開發功能分支 feature/search-recommend 爲例,工程師須要作如下步驟:

  1. 創建 develop 的分支 feature/search-recommend
  2. 在該分支上進行開發,完成後進行本地提交
  3. 切換到 develop 分支,pull拉取遠程倉庫最新版本
  4. 此時本地 develop 分支是最新版本,而後 merge 分支 feature/search-recommend
  5. 若是此時有衝突,清除後commit
  6. 把本地合併後的分支 develop push 到遠程 develop
  7. 在 develop 分支環境下進行測試
  8. 一切ok,刪除該功能分支
  9. 切到 master 分支,pull 而後 merge develop,收工

遵循原則&事項

  1. 每次 merge 前先 pull 遠程分支在進行合併
  2. 每完成一個功能就提交一次,不要累計代碼

代碼

git checkout -b feature/search-recommend develop ##建立並切換到分支 git add somefile git commit -m 'msg' git checkout develop git pull git merge feature/search-recommend git push git checkout master git merge devlop git push
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

緊急修復bug

工程師們開開心心的在本身分支上進行開發,此時線上忽然出現一bug,須要當即修復,那麼:

  1. 在 master 分支上拉一個 hotfix 分支 hotfix/0.0.1
  2. 修復後 merge 回 master 分支
  3. 再 merge 回 develop 分支
  4. 刪除該分支
  5. 應始終保證 master 和 develop 上都修復了該bug

命名規範

分支命名

除了主要分支的名字是固定的以外,派生分支是須要本身命名的,採用以下形式:

  • feature : 按照功能點(而不是需求)命名 feature/ ;如 *feature/weixin_recharge
  • hotfix : 經過平臺生成的問題編號來命名;如 hotfix/#1
相關文章
相關標籤/搜索