溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Git分支管理規(guī)范的方法是什么

發(fā)布時間:2021-12-31 09:24:30 來源:億速云 閱讀:212 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Git分支管理規(guī)范的方法是什么”,在日常操作中,相信很多人在Git分支管理規(guī)范的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Git分支管理規(guī)范的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一:分支介紹

  • master:主分支,不允許開發(fā)者推送代碼,只有一個

  • develop:開發(fā)分支,也只有一個

  • feature:新功能分支,在develop分支上創(chuàng)建,用于開發(fā)新功能,若存在多個新特性可以并行開發(fā),則開發(fā)主管可創(chuàng)建多個feature 分支(特性分支),命名規(guī)范:feature-分支創(chuàng)建日期-新特性關(guān)鍵字,例如:feature-20200911-i18n

  • release:準(zhǔn)備發(fā)布新版本時的發(fā)布分支。開發(fā)完畢,則創(chuàng)建 release 分支(發(fā)布分支),命名規(guī)則:release-分支創(chuàng)建日期-待發(fā)布版本號。例如:release-20200911-v1.0.0

  • hotfix:熱修復(fù)分支,用于線上修復(fù)bug,從master分支創(chuàng)建。命名規(guī)則:hotfix-分支創(chuàng)建日期-待發(fā)布版本號,例如:hotfix-20200911-v1.0.1

分支用途
master 分支(主分支)穩(wěn)定版本
develop 分支(開發(fā)分支)最新版本
release 分支(發(fā)布分支)發(fā)布新版本
hotfix 分支(熱修復(fù)分支)修復(fù)線上 Bug
feature 分支(特性分支)實現(xiàn)新特性

Git分支管理規(guī)范的方法是什么

二:開發(fā)新功能

開發(fā)人員在 develop 分支上實現(xiàn)新功能,包括:新特性與 新特性的Bug 修復(fù)

Git分支管理規(guī)范的方法是什么

命令示例:

# 切換到 develop 分支: 
git checkout develop
# 提交本地修改:
git add -A
git commit –m “提交日志”
# 推送 develop 分支:
git push origin develop

2.1 feature分支——存在多個新特性或多個功能并行開發(fā)

存在多個新特性可以并行開發(fā),則開發(fā)主管可創(chuàng)建一個或多個 feature 分支(特性分支),命名規(guī)范:feature-分支創(chuàng)建日期-新特性關(guān)鍵字,例如:feature-20200911-i18n。

Git分支管理規(guī)范的方法是什么

當(dāng)新特性開發(fā)完畢后,開發(fā)主管需將 feature 分支合并到 develop 分支,最后需刪除 feature 分支。

# 從 develop 分支上創(chuàng)建 feature 分支:
git checkout –b feature-20200911-i18n develop
# 合并 feature 分支到 develop 分支: git checkout develop
git merge --no-ff feature
# 刪除本地 feature 分支:
git branch –d feature-20200911-i18n
# 刪除遠(yuǎn)程 feature 分支:
git push origin :feature-20200911-i18n

2.1.1 feature分支使用場景

  1. 開發(fā)一個獨立的新特性(完成時,需合并到 develop 分支)

  2. 技術(shù)研究與嘗試(若失敗,可隨時刪除 feature 分支)

  3. 提前實現(xiàn)下一個版本需要開發(fā)的特性(可不在本次迭代中發(fā)布)

推薦使用 feature 分支,但 feature 分支的生命周期不能跨一次迭代

三:準(zhǔn)備發(fā)布新版本

發(fā)布新版本的前提:

  1. 確認(rèn) develop 分支上的功能是否開發(fā)完畢

  2. 若開發(fā)完畢,則創(chuàng)建 release 分支(發(fā)布分支),命名規(guī)則:release-分支創(chuàng)建日期-待發(fā)布版本號,例如:release-20200911-v1.0.0

  3. 首先在 release 分支中升級 Maven 版本號,例如:1.0.0-SNAPSHOT,然后修改 version.ini 文件(便于在部署時查看當(dāng)前版本號),最后在 release 分支上做一次提交

  4. 通知測試可對 release 分支進(jìn)行測試

Git分支管理規(guī)范的方法是什么

# 從 develop 分支上創(chuàng)建 release 分支:
git checkout –b release-20200911-v1.0.0 develop

3.1 修復(fù)待發(fā)布版本中bug

開發(fā)人員在 release 分支上修復(fù)測試人員提交給自己的 Bug

Git分支管理規(guī)范的方法是什么

# 切換到 release 分支:
git checkout release-20200911-v1.0.0
# 提交本地修改:
git add .
git commit –m “提交日志”
# 推送 release 分支:
git push origin release-20200911-v1.0.0

四:發(fā)布新版本

第一步:集成測試
測試需完成以下任務(wù):

  1. 從 release 分支上檢出所有代碼并搭建集成測試環(huán)境

  2. 安排測試人員,對 release 分支進(jìn)行集成測試

  3. 通知開發(fā)主管當(dāng)前版本已集成測試完畢

第二步:冒煙測試
開發(fā)主管需完成以下任務(wù):

  1. 將 release 分支同時合并到 master 分支與 develop 分支

  2. 通知測試主管,對 master 分支進(jìn)行冒煙測試

第三步:發(fā)布新版本
開發(fā)主管需完成以下任務(wù):

  1. 修改 master 分支上的 Maven 快照版為發(fā)布版(去掉 SNAPSHOT 后綴)

  2. 添加發(fā)布日志(RELEASE.md)

  3. 在 master 分支上創(chuàng)建標(biāo)簽,命名規(guī)則:tag-日期-版本,例如:tag-20200911-v1.0.0

  4. 刪除 release 分支

  5. 打包并上傳 Maven 私服

Git分支管理規(guī)范的方法是什么

# 合并 release 分支到 master 分支:
git checkout master
git merge --no-ff release-20200911-v1.0.0
# 合并 release 分支到 develop 分支:
git checkout develop
git merge --no-ff release-20200911-v1.0.0
# 在 master 分支上創(chuàng)建標(biāo)簽:
git tag tag-20200911-v1.0.0
# 刪除本地 release 分支:
git branch –d release-20200911-v1.0.0
# 刪除遠(yuǎn)程 release 分支:
git push origin :release-20200911-v1.0.0

五:線上修復(fù)bug

5.1 創(chuàng)建hotfix分支

第一步:創(chuàng)建 hotfix 分支 開發(fā)主管需完成以下任務(wù):

  1. 從 master 分支某個 tag 上創(chuàng)建一個 hotfix 分支(熱修復(fù)分支),命名規(guī)則:hotfix-分支創(chuàng)建日期-待發(fā)布版本號,例如:hotfix-20200911-v1.0.1

  2. 首先在 hotfix 分支中升級 Maven 版本號(例如:1.0.1-SNAPSHOT),然后修改 version.ini 文件,最后在hotfix 分支上做一次提交

  3. 指導(dǎo)開發(fā)人員完成 Bug 修復(fù)

  4. 通知測試對 hotfix 分支進(jìn)行測試

Git分支管理規(guī)范的方法是什么

# 從某個標(biāo)簽上創(chuàng)建 hotfix 分支:
git branch hotfix-20200911-v1.0.1 tag-20190919-v1.0.0

5.2 創(chuàng)建標(biāo)簽并發(fā)布新版本

Bug修復(fù)測試通過后:

  1. 將 hotfix 分支同時合并到 master 與 develop 分支

  2. 通知測試進(jìn)行冒煙測試

5.3 發(fā)布新版本

  1. 修改 master 分支上的 Maven 快照版為發(fā)布版(去掉 SNAPSHOT 后綴)

  2. 添加發(fā)布日志(RELEASE.md)

  3. 在 master 分支上創(chuàng)建標(biāo)簽

  4. 刪除 hotfix 分支

  5. 打包并上傳 Maven 私服

Git分支管理規(guī)范的方法是什么

# 合并 hotfix 分支到 master 分支:
git checkout master
git merge --no-ff hotfix-20200911-v1.0.1
# 合并 hotfix 分支到 develop 分支:
git checkout develop
git merge --no-ff hotfix-20200911-v1.0.1
# 在 master 分支上創(chuàng)建標(biāo)簽:
git checkout master
git tag tag-20200911-v1.0.1
# 刪除本地 hotfix 分支:
git branch –d hotfix-20200911-v1.0.1
# 刪除遠(yuǎn)程 hotfix 分支:
git push origin :hotfix-20200911-v1.0.1

5.4 若無法將 hotfix 分支合并到 master 與 develop 分支時,應(yīng)該如何發(fā)布?

比如:現(xiàn)在 master 分支已經(jīng)發(fā)布了 2.0.0 版本(代碼結(jié)構(gòu)發(fā)生了很大的變化),但線上發(fā)現(xiàn)了一個 1.0.0 版 本的 Bug,當(dāng)修改了 Bug后,是無法再合并到 master 與 develop 分支的,開發(fā)需完成以下任務(wù):

  1. 直接在 hotfix 分支上創(chuàng)建標(biāo)簽

  2. 刪除 hotfix 分支(分支刪除了,只要標(biāo)簽還在,版本就可以找得回來)

  3. 手工修改 develop 分支中的代碼(在后續(xù)發(fā)布時再合并到 master 分支中)

六:定制化項目

當(dāng)需要對某項目進(jìn)行定制化時,可從源項目的 Git 倉庫 fork 出一個新的 Git 倉庫:

Git分支管理規(guī)范的方法是什么

當(dāng) fork 后,對 repo1 做出的任何修改,都不會影響到 repo2
在 repo2 中修復(fù)了 Bug,可通過 Merge Request 的方式提交給 repo1
在 repo2 中可隨時拉取 repo1 中的提交,但 repo1 不能拉取 repo2 中的提交

到此,關(guān)于“Git分支管理規(guī)范的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI