Git 分支管理

<meta charset="utf-8">

master:這個(gè)分支最為穩(wěn)定,這個(gè)分支代表項(xiàng)目處于可發(fā)布的狀態(tài),用于版本發(fā)布。

例如王二狗向master分支合并了代碼,那就意味著王二狗完成了此項(xiàng)目的一個(gè)待發(fā)布的版本,項(xiàng)目經(jīng)理可以認(rèn)為,此項(xiàng)目已經(jīng)準(zhǔn)備好發(fā)布新版本了。所以master分支不是隨隨便便就可以簽入代碼的地方,只有計(jì)劃發(fā)布的版本功能在develop分支上全部完成,而且測試沒有問題了才會(huì)合并到master上。

develop:作為開發(fā)的分支,平行于master分支。

ers

例如王二狗要開發(fā)一個(gè)注冊(cè)功能,那么他就會(huì)從develop分支上創(chuàng)建一個(gè)feature分支 fb-register(后面講),在fb-register分支上將注冊(cè)功能完成后,將代碼合并到develop分支上。這個(gè)fb-register就完成了它的使命,可以刪除了。項(xiàng)目經(jīng)理看王二狗效率很高啊,于是:“二狗你順帶把登錄功能也做了吧”。二狗心中暗暗罵道:日了個(gè)狗的,但是任務(wù)還的正常做,二狗就會(huì)重復(fù)上面的步驟:從develop分支上新創(chuàng)建一個(gè)名為fb-login的分支,喝杯咖啡繼續(xù)開發(fā),1個(gè)小時(shí)后登錄功能寫好了,二狗又會(huì)將這個(gè)分支的代碼合并回develop分支后將其刪除。

將Develop分支發(fā)布到Master分支的命令:

# 切換到Master分支

git checkout master

# 對(duì)Develop分支進(jìn)行合并

git merge --no-ff develop

--no-ff參數(shù)是什么意思。默認(rèn)情況下,Git執(zhí)行"快進(jìn)式合并"(fast-farward merge),會(huì)直接將Master分支指向Develop分支。使用--no-ff參數(shù)后,會(huì)執(zhí)行正常合并,在Master分支上生成一個(gè)新節(jié)點(diǎn)。

image
image

四、 功能分支

接下來,一個(gè)個(gè)來看這三種"臨時(shí)性分支"。

第一種是功能分支,它是為了開發(fā)某種特定功能,從Develop分支上面分出來的。開發(fā)完成后,要再并入Develop。

[圖片上傳失敗...(image-49ba89-1585552367377)]

功能分支的名字,可以采用feature-*的形式命名。

創(chuàng)建一個(gè)功能分支:

git checkout -b feature-x develop

開發(fā)完成后,將功能分支合并到develop分支:

git checkout develop

git merge --no-ff feature-x

刪除feature分支:

git branch -d feature-x

五、預(yù)發(fā)布分支

第二種是預(yù)發(fā)布分支,它是指發(fā)布正式版本之前(即合并到Master分支之前),我們可能需要有一個(gè)預(yù)發(fā)布的版本進(jìn)行測試。

預(yù)發(fā)布分支是從Develop分支上面分出來的,預(yù)發(fā)布結(jié)束以后,必須合并進(jìn)Develop和Master分支。它的命名,可以采用release-*的形式。

創(chuàng)建一個(gè)預(yù)發(fā)布分支:

git checkout -b release-1.2 develop

確認(rèn)沒有問題后,合并到master分支:

git checkout master

git merge --no-ff release-1.2

# 對(duì)合并生成的新節(jié)點(diǎn),做一個(gè)標(biāo)簽

git tag -a 1.2

再合并到develop分支:

git checkout develop

git merge --no-ff release-1.2

最后,刪除預(yù)發(fā)布分支:

git branch -d release-1.2

六、修補(bǔ)bug分支

最后一種是修補(bǔ)bug分支。軟件正式發(fā)布以后,難免會(huì)出現(xiàn)bug。這時(shí)就需要?jiǎng)?chuàng)建一個(gè)分支,進(jìn)行bug修補(bǔ)。

修補(bǔ)bug分支是從Master分支上面分出來的。修補(bǔ)結(jié)束以后,再合并進(jìn)Master和Develop分支。它的命名,可以采用fixbug-*的形式。

[圖片上傳失敗...(image-4846fe-1585552367377)]

創(chuàng)建一個(gè)修補(bǔ)bug分支:

git checkout -b fixbug-0.1 master

修補(bǔ)結(jié)束后,合并到master分支:

git checkout master

git merge --no-ff fixbug-0.1

git tag -a 0.1.1

再合并到develop分支:

git checkout develop

git merge --no-ff fixbug-0.1

最后,刪除"修補(bǔ)bug分支":

git branch -d fixbug-0.1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 眼下最流行的”版本管理系統(tǒng)”,非Git莫屬。 相比同類軟件,Git有很多優(yōu)點(diǎn)。其中很顯著的一點(diǎn),就是版本的分支(b...
    零一間閱讀 454評(píng)論 0 2
  • Git 倉庫申請(qǐng)流程 1. 開發(fā)主管向Git 管理員提交Git 倉庫申請(qǐng)【郵件:發(fā)送給Git 管理員,抄送給項(xiàng)目經(jīng)...
    騷包霸天虎閱讀 2,228評(píng)論 0 0
  • 如果你嚴(yán)肅對(duì)待編程,就必定會(huì)使用"版本管理系統(tǒng)"(Version Control System)。 眼下最流行的"...
    木易林1閱讀 593評(píng)論 1 0
  • 轉(zhuǎn)載:Git分支管理的策略梳理 當(dāng)下最流行的版本管理系統(tǒng)應(yīng)該是非Git莫屬。相比同類軟件,Git有很多優(yōu)點(diǎn),其中很...
    chenzhenlindx閱讀 433評(píng)論 0 0
  • 相比同類軟件,Git有很多優(yōu)點(diǎn)。其中很顯著的一點(diǎn),就是版本的分支(branch)和合并(merge)十分方便。有些...
    喜歡就可以閱讀 263評(píng)論 0 0

友情鏈接更多精彩內(nèi)容