您好,登錄后才能下訂單哦!
這篇文章主要介紹“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)新特性 |
開發(fā)人員在 develop 分支上實現(xiàn)新功能,包括:新特性與 新特性的Bug 修復(fù)
命令示例:
# 切換到 develop 分支: git checkout develop # 提交本地修改: git add -A git commit –m “提交日志” # 推送 develop 分支: git push origin develop
存在多個新特性可以并行開發(fā),則開發(fā)主管可創(chuàng)建一個或多個 feature 分支(特性分支),命名規(guī)范:feature-分支創(chuàng)建日期-新特性關(guān)鍵字,例如:feature-20200911-i18n。
當(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
開發(fā)一個獨立的新特性(完成時,需合并到 develop 分支)
技術(shù)研究與嘗試(若失敗,可隨時刪除 feature 分支)
提前實現(xiàn)下一個版本需要開發(fā)的特性(可不在本次迭代中發(fā)布)
推薦使用 feature 分支,但 feature 分支的生命周期不能跨一次迭代
發(fā)布新版本的前提:
確認(rèn) develop 分支上的功能是否開發(fā)完畢
若開發(fā)完畢,則創(chuàng)建 release 分支(發(fā)布分支),命名規(guī)則:release-分支創(chuàng)建日期-待發(fā)布版本號,例如:release-20200911-v1.0.0
首先在 release 分支中升級 Maven 版本號,例如:1.0.0-SNAPSHOT,然后修改 version.ini 文件(便于在部署時查看當(dāng)前版本號),最后在 release 分支上做一次提交
通知測試可對 release 分支進(jìn)行測試
# 從 develop 分支上創(chuàng)建 release 分支: git checkout –b release-20200911-v1.0.0 develop
開發(fā)人員在 release 分支上修復(fù)測試人員提交給自己的 Bug
# 切換到 release 分支: git checkout release-20200911-v1.0.0 # 提交本地修改: git add . git commit –m “提交日志” # 推送 release 分支: git push origin release-20200911-v1.0.0
第一步:集成測試
測試需完成以下任務(wù):
從 release 分支上檢出所有代碼并搭建集成測試環(huán)境
安排測試人員,對 release 分支進(jìn)行集成測試
通知開發(fā)主管當(dāng)前版本已集成測試完畢
第二步:冒煙測試
開發(fā)主管需完成以下任務(wù):
將 release 分支同時合并到 master 分支與 develop 分支
通知測試主管,對 master 分支進(jìn)行冒煙測試
第三步:發(fā)布新版本
開發(fā)主管需完成以下任務(wù):
修改 master 分支上的 Maven 快照版為發(fā)布版(去掉 SNAPSHOT 后綴)
添加發(fā)布日志(RELEASE.md)
在 master 分支上創(chuàng)建標(biāo)簽,命名規(guī)則:tag-日期-版本,例如:tag-20200911-v1.0.0
刪除 release 分支
打包并上傳 Maven 私服
# 合并 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
第一步:創(chuàng)建 hotfix 分支 開發(fā)主管需完成以下任務(wù):
從 master 分支某個 tag 上創(chuàng)建一個 hotfix 分支(熱修復(fù)分支),命名規(guī)則:hotfix-分支創(chuàng)建日期-待發(fā)布版本號,例如:hotfix-20200911-v1.0.1
首先在 hotfix 分支中升級 Maven 版本號(例如:1.0.1-SNAPSHOT),然后修改 version.ini 文件,最后在hotfix 分支上做一次提交
指導(dǎo)開發(fā)人員完成 Bug 修復(fù)
通知測試對 hotfix 分支進(jìn)行測試
# 從某個標(biāo)簽上創(chuàng)建 hotfix 分支: git branch hotfix-20200911-v1.0.1 tag-20190919-v1.0.0
Bug修復(fù)測試通過后:
將 hotfix 分支同時合并到 master 與 develop 分支
通知測試進(jìn)行冒煙測試
修改 master 分支上的 Maven 快照版為發(fā)布版(去掉 SNAPSHOT 后綴)
添加發(fā)布日志(RELEASE.md)
在 master 分支上創(chuàng)建標(biāo)簽
刪除 hotfix 分支
打包并上傳 Maven 私服
# 合并 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
比如:現(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ù):
直接在 hotfix 分支上創(chuàng)建標(biāo)簽
刪除 hotfix 分支(分支刪除了,只要標(biāo)簽還在,版本就可以找得回來)
手工修改 develop 分支中的代碼(在后續(xù)發(fā)布時再合并到 master 分支中)
當(dāng)需要對某項目進(jìn)行定制化時,可從源項目的 Git 倉庫 fork 出一個新的 Git 倉庫:
當(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>
免責(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)容。