6. Git工作流

MPolaris發表於2020-11-28

6.1 git工作流理解

在專案開發過程中使用 Git 的方式

6.2 git工作流分類

集中式工作流

像 SVN 一樣,集中式工作流以中央倉庫作為專案所有修改的單點實體。所有修改都提交到 Master 這個分支上。 這種方式與 SVN 的主要區別就是開發人員有本地庫。 但是 Git 很多特性並沒有用到。

GitFlow 工作流

工作流 Gitflow 工作流通過為功能開發、釋出準備和維護設立了獨立的分支,讓釋出迭代過程更流暢。嚴格的分支模型也為大型專案提供了一些非常必要的結構。

img
Forking 工作流

Forking 工作流是在 GitFlow 基礎上,充分利用了 Git 的 Forkpull request 的功能以達到程式碼稽核的目的。更適合安全可靠地管理大團隊的開發者,而且能接受不信任貢獻者的提交。

img

6.3 GitFlow工作流詳解

分支種類
  • 主幹分支 master

    主要負責管理正在執行的生產環境程式碼。永遠保持與正在執行的生產環境 完全一致。

  • 開發分支 develop

    主要負責管理正在開發過程中的程式碼。一般情況下應該是最新的程式碼。

  • bug 修理分支 hotfix

    主要負責管理生產環境下出現的緊急修復的程式碼。 從主幹分支分出,修 理完畢並測試上線後,並回主幹分支。並回後,視情況可以刪除該分支。

  • 準生產分支(預釋出分支) release

    較大的版本上線前,會從開發分支中分出準生產分支,進行最後階段的整合測試。該版本上線後,會合併到主幹分支。生產環境執行一段階段較穩定後可以視情況刪除。

  • 功能分支 feature

    為了不影響較短週期的開發工作,一般把中長期開發模組,會從開發分支中獨立出來。 開發完成後會合併到開發分支。

img
練習
img
  • GitTest建立一個hot_fix新分支
img
  • GitTest在hot_fix分支下修改提交到本地庫並push到遠端庫
img
  • GitTest2進行pull操作並切換到hot_fix分支
img
  • GitTest2執行合併分支(將hot_fix合併到mster)

    先切換到master分支再合併,push

img

相關文章