1. 程式人生 > >專案開發及管理中:git的使用及倉庫分支(Branch)和標籤(Tag)

專案開發及管理中:git的使用及倉庫分支(Branch)和標籤(Tag)

專案開發及管理中:git的使用及倉庫分支(Branch)和標籤(Tag)

文章目錄

轉載:https://www.cnblogs.com/weiqingfeng/p/9525663.html

這裡記錄一下專案開發中git的使用。

1.git的使用

參考這篇:https://www.cnblogs.com/terryguan/p/5128079.html

2.git分支

倉庫的分支(Branch)規範,影響到每個團隊的工作流的一致性;標籤(Tag)便於開發團隊、測
試團隊和其他團隊識別每個專案的版本,特別是在協同處理線上問題的時候,大家可以非常清楚
地知道線上執行版本和程式碼庫的對應關係。因此我們在製作的時候,主要考慮幾個因素:

  • 一是要有一定的規則,方便持續整合CI(自動化構建、測試、分佈等)
  • 二是要有一定的自由度,以適應不同團隊的內部協作靈活性
  • 要清晰規整,不要參差不齊難以識別

基於我們當前團隊的協作能力和提交程式碼的質量水平,並考慮方便持續整合CI(自動化構建、
測試、釋出),我們約定下列常駐Branch:

  • develop 分支:顧名思義即持續開發的分支,我們希望每個開發組都在這個分支上保
    持線性的持續小步迭代,正常的CodeReview WorkFlow和開發級的自動CI也在這裡進行。
    當開發完一個迭代(Sprint),開發小組有信心轉測時,就將程式碼合併到 release
    分支,
    並要求打一個alpha級的Tag(如5.2.0-alpha)
  • release 分支:顧名思義即用於釋出過程的分支,包括開發轉測(實際上我們認為這裡的測試整合測試)、測試和BugFix以及釋出上線的過程,當釋出成功時要打一個釋出beta Tag(如
    5.2.1-beta),並將程式碼合併到 master 分支
  • master 分支:即有質量保證的、可安全執行的分支,禁止直接程式碼提交,避免被汙染,僅用
    於程式碼合併和歸集,在這個分支上的程式碼應該永遠是可用的、穩定的。當需要拉一個特別的開發分時,
    應該基於 master

3.git標籤

關於打 Tag 的規則

鼓勵開發和QA團隊共同對勤於打Tag,這便於真正的版本管理,避免有rollback需要或者需要檢視和
對比歷史版本的時候的混亂和低效局面。但同時也要求一定的規範性,讓人一看便知。

Tag格式為: MajorVersion.MinorVersion.FixVersion-TypeLabel,其中TypeLabel
alphabetadevel。具體參見下圖舉例,其中devel是留給開發過程中
使用的。分工上,開發團隊負責打 tag-alpha,測試團隊負責打 tag-beta

但是,自己決定並不意味著胡亂命名,大家仍然要以 語義明(白)(準)確 的原則
來管理自己的分支和標籤名,因為所有這些都是為了提高協作效率。

2張圖說明專案中分支及tag的使用情況。

圖1

在這裡插入圖片描述

圖2

在這裡插入圖片描述