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

追逐時光者發表於2023-05-14

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分支建立的分支都應該被合併回主分支。
  • develop分支:是開發環境的分支,它包含了最新的開發版本程式碼。當一個開發任務完成後,它會被合併到這個分支中。這個分支應該是最新狀態的穩定分支。
  • feature分支:是用來開發新功能的分支。當一個新的功能需要開發時,會從develop分支上建立一個feature分支。在feature分支上完成開發後,它會被合併回develop分支。
  • release分支:是用來準備一個新版本釋出的分支。當開發任務完成並且測試透過後,會從develop分支上建立一個release分支,用來準備下一個版本的釋出。在這個分支上完成所有的bug修復和版本號更新等工作後,它會被合併到master分支中,以便進行釋出。
  • hotfix分支:是用來修復生產環境中出現的緊急bug的分支。當生產環境中出現緊急bug時,會從master分支上建立一個hotfix分支,用來快速進行修復。在這個分支上完成修復後,它會被合併回master分支和develop分支,以確保所有的分支都包含了修復後的程式碼。

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

Git分散式版本控制器常用命令和使用

參考文章

https://nvie.com/posts/a-successful-git-branching-model/

相關文章