6.1 git工作流理解
在專案開發過程中使用 Git 的方式
6.2 git工作流分類
集中式工作流
像 SVN 一樣,集中式工作流以中央倉庫作為專案所有修改的單點實體。所有修改都提交到 Master
這個分支上。 這種方式與 SVN 的主要區別就是開發人員有本地庫。 但是 Git 很多特性並沒有用到。
GitFlow 工作流
工作流 Gitflow
工作流通過為功能開發、釋出準備和維護設立了獨立的分支,讓釋出迭代過程更流暢。嚴格的分支模型也為大型專案提供了一些非常必要的結構。

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

6.3 GitFlow工作流詳解
分支種類
-
主幹分支 master
主要負責管理正在執行的生產環境程式碼。永遠保持與正在執行的生產環境 完全一致。
-
開發分支 develop
主要負責管理正在開發過程中的程式碼。一般情況下應該是最新的程式碼。
-
bug 修理分支 hotfix
主要負責管理生產環境下出現的緊急修復的程式碼。 從主幹分支分出,修 理完畢並測試上線後,並回主幹分支。並回後,視情況可以刪除該分支。
-
準生產分支(預釋出分支) release
較大的版本上線前,會從開發分支中分出準生產分支,進行最後階段的整合測試。該版本上線後,會合併到主幹分支。生產環境執行一段階段較穩定後可以視情況刪除。
-
功能分支 feature
為了不影響較短週期的開發工作,一般把中長期開發模組,會從開發分支中獨立出來。 開發完成後會合併到開發分支。

練習

- GitTest建立一個hot_fix新分支

- GitTest在hot_fix分支下修改提交到本地庫並push到遠端庫

- GitTest2進行pull操作並切換到hot_fix分支

-
GitTest2執行合併分支(將hot_fix合併到mster)
先切換到master分支再合併,push
