一、主分支Master
首先睛驳,代碼庫(kù)應(yīng)該有一個(gè)烙心、且僅有一個(gè)主分支。所有提供給用戶使用的正式版本乏沸,都在這個(gè)主分支上發(fā)布淫茵。
Git主分支的名字,默認(rèn)叫做Master蹬跃。它是自動(dòng)建立的匙瘪,版本庫(kù)初始化以后,默認(rèn)就是在主分支在進(jìn)行開發(fā)炬转。
二辆苔、開發(fā)分支Develop
主分支只用來(lái)分布重大版本,日常開發(fā)應(yīng)該在另一條分支上完成扼劈。我們把開發(fā)用的分支驻啤,叫做Develop。
這個(gè)分支可以用來(lái)生成代碼的最新版本荐吵。如果想正式對(duì)外發(fā)布骑冗,就在Master分支上,對(duì)Develop分支進(jìn)行”合并”先煎。
Git創(chuàng)建Develop分支的命令:
git checkout -b develop master
將Develop分支發(fā)布到Master分支的命令:
切換到Master分支
git checkout master
對(duì)Develop分支進(jìn)行合并
git merge –no–ff develop
三贼涩、臨時(shí)性分支
前面講到版本庫(kù)的兩條主要分支:Master和Develop。前者用于正式發(fā)布薯蝎,后者用于日常開發(fā)遥倦。其實(shí),常設(shè)分支只需要這兩條就夠了占锯,不需要其他了袒哥。
但是,除了常設(shè)分支以外消略,還有一些臨時(shí)性分支堡称,用于應(yīng)對(duì)一些特定目的的版本開發(fā)。臨時(shí)性分支主要有三種:
- 功能(feature)分支
- 預(yù)發(fā)布(release)分支
- 修補(bǔ)bug(fixbug)分支
這三種分支都屬于臨時(shí)性需要艺演,使用完以后却紧,應(yīng)該刪除桐臊,使得代碼庫(kù)的常設(shè)分支始終只有Master和Develop。
四晓殊、 功能分支
第一種是功能分支断凶,它是為了開發(fā)某種特定功能,從Develop分支上面分出來(lái)的挺物。開發(fā)完成后懒浮,要再并入Develop飘弧。
功能分支的名字识藤,可以采用feature-*的形式命名。
五次伶、預(yù)發(fā)布分支
第二種是預(yù)發(fā)布分支痴昧,它是指發(fā)布正式版本之前(即合并到Master分支之前),我們可能需要有一個(gè)預(yù)發(fā)布的版本進(jìn)行測(cè)試冠王。
預(yù)發(fā)布分支是從Develop分支上面分出來(lái)的赶撰,預(yù)發(fā)布結(jié)束以后,必須合并進(jìn)Develop和Master分支柱彻。它的命名豪娜,可以采用release-*的形式。
六哟楷、修補(bǔ)bug分支
最后一種是修補(bǔ)bug分支瘤载。軟件正式發(fā)布以后,難免會(huì)出現(xiàn)bug卖擅。這時(shí)就需要?jiǎng)?chuàng)建一個(gè)分支鸣奔,進(jìn)行bug修補(bǔ)。
修補(bǔ)bug分支是從Master分支上面分出來(lái)的惩阶。修補(bǔ)結(jié)束以后挎狸,再合并進(jìn)Master和Develop分支。它的命名断楷,可以采用hotfix-*的形式锨匆。