Git開發、釋出、缺陷分離模型概述(支援master/develop/feature/release/hotfix型別分支)

2023-05-15 06:02:35

Git是什麼?

  Git是一種分散式版本控制系統,它可以記錄檔案的修改歷史和版本變化,並可以支援多人協同開發。Git最初是由Linux開發者Linus Torvalds建立的,它具有高效、靈活、穩定等優點,如今已成為軟體開發領域中最流行的版本控制系統之一。Git使用一種名為「倉庫」的資料結構來儲存程式碼和它們的變更歷史。每個開發人員都可以在本地擁有自己的倉庫,並將其與其他人的倉庫同步更新。除此之外,Git還提供了強大的分支和合並功能,可以讓開發人員在不影響主幹的情況下建立和測試新功能。

Git有什麼作用?

  Git的使用範圍非常廣泛,它不僅可以用於軟體開發,還可以應用於任何需要版本控制的專案。當團隊存在多人共同作業開發時,Git可以提高開發效率,減少程式碼衝突[這個是Git作為分散式版本控制系統一個優勢之一,可以避免開發環境產生衝突而導致程式碼丟失的情況],同時也可以方便專案管理和維護。

CVS、SVN程式碼衝突和Git程式碼衝突哪個更好優勢在哪?

  • 在CVS、SVN集中式的程式碼管理工具中,發生衝突時需要首先將檔案lock住,即檔案鎖定,以保證只有一個人在修改該檔案,避免多人同時修改導致檔案衝突。但是這種方式會影響開發效率,並且無法支援離線工作模式。
  • Git分散式管理工具中,由於本地倉庫不依賴於中央伺服器,因此可以在沒有網路連線的情況下繼續工作,這也是Git的優勢之一。發生衝突時,每個人都可以在本地倉庫中解決衝突,然後將結果推播到中央伺服器上。Git還可以使用合併和分支功能,使多人共同作業開發更加容易。另外,Git的分散式結構意味著它具有更高的靈活性和可靠性,可以保證資料的完整性和安全性。同時,Git也支援大規模開發和複雜專案的管理。

Git開發、釋出、缺陷分離模型介紹

  在一些流程完善的公司往往都會有著自己一套比較完善的Git分支管理模型來保障開發和生成環境的程式碼穩定性,而Git開發、釋出、缺陷分離模型是一種流行且適用於大多數團隊的Git分支管理模型,它支援master/develop/feature/release/hotfix型別分支。使用這種分支管理模型可以有效地隔離開發、釋出和缺陷修復工作,提高程式碼的質量和穩定性。同時,也可以更好地共同作業和進行版本管理。如下是一張詳細的master/develop/feature/release/hotfix型別分支管理圖:

 

master/develop/feature/release/hotfix每個分支的作用

master分支

master分支是主分支,包含了已經發布到生產環境的穩定,可靠版本的程式碼。一般情況下,master分支應該只用於釋出新版本,而不應該直接修改或提交新的功能。

建立流程:

  1. 所有的釋出程式碼都在master分支上合併完成。
  2. develop分支上的所有功能都經過測試並處於可釋出狀態時,將develop建立的對應測試通過的release-v1.0分支合併到master分支上生成一個新的釋出版本。

develop分支

develop分支是開發分支,包含了當前正在進行的所有功能和任務。所有新功能開發、改進、優化等都應該從此分支開始,並最終合併回此分支。

建立流程:

  1. 所有的新的功能開發、改進、優化等都在develop分支上完成。
  2. 當某個功能被完成並且經過測試後,在一個獨立的feature分支上進行開發的功能會被合併回develop分支。

feature分支

feature分支是從develop分支建立的分支,通常用於開發新功能。每個新功能都應該從develop分支開始,並在一個獨立的feature分支上進行開發工作。一旦新功能得到完全實現、測試並且可靠,該分支就會被合併回develop分支。

建立流程:

  1. develop分支上建立一個新的feature分支。
  2. 在此分支上進行新功能的開發工作。
  3. 當新功能得到完全實現、測試並且可靠時,將其合併回develop分支。

release分支

release分支是從develop分支建立的分支,通常用於為即將釋出的版本做準備工作。在此分支上可以進行最終的測試、修復bug、檢查檔案等操作,以確保釋出版本的質量。一旦準備工作完成並且得到完全測試,該分支就會被合併回master分支,並作為新的釋出版本。並將該分支合併回develop分支,以便後續的開發工作。

建立流程:

  1. develop分支上建立一個新的release分支。
  2. 在此分支上進行最後的測試、修復bug和更新檔案等操作。
  3. 將該分支合併回master分支作為新的釋出版本。
  4. 將該分支合併回develop分支,以便後續的開發工作。

hotfix分支

hotfix分支是從master分支建立的分支,用於在生產環境中緊急修復問題。修復完畢後,該分支將會被合併回masterdevelop分支。

建立流程:

  1. master分支上建立一個新的hotfix分支。
  2. 在此分支上進行必要的修改和測試。
  3. 將該分支合併回master分支以修復問題。
  4. 將該分支合併回develop分支以確保將來新版正常工作。

Git視覺化管理原始碼詳細教學