Git Flow是一套基于Git進(jìn)行開(kāi)發(fā)流程管理的框架闪湾,其精髓在于其流程可以使得多人協(xié)作時(shí)可以有效地配合項(xiàng)目流程進(jìn)行源代碼管理吞鸭。下圖是Git Flow流程發(fā)明者提出的流程:
分支可以分類(lèi)兩類(lèi),一類(lèi)是主分支继谚,有develop和master颊咬,可以分別對(duì)應(yīng)dev環(huán)境和生產(chǎn)環(huán)境万伤。另外一個(gè)是流程分支肪笋,有feature,release和hotfix度迂。
develop分支: 開(kāi)發(fā)分支藤乙,各種最新功能(feature)和最新的bug修復(fù)(hotfix)會(huì)合并進(jìn)develop。穩(wěn)定的新功能應(yīng)該都要合并到develop分支惭墓。
master分支:主分支坛梁,生產(chǎn)環(huán)境運(yùn)行主分支的代碼,主分支強(qiáng)調(diào)穩(wěn)定性腊凶。
feature分支:如果想開(kāi)發(fā)一個(gè)新功能划咐,則需要從develop分支的某個(gè)commit新建一個(gè)feature分支,完成開(kāi)發(fā)的feature分支再merge回develop钧萍。所有merge回develop的feature都應(yīng)該通過(guò)簡(jiǎn)單的自測(cè)褐缠。
release分支:當(dāng)在某個(gè)節(jié)點(diǎn)完成feature開(kāi)發(fā)時(shí),需要對(duì)feature進(jìn)行測(cè)試與發(fā)布時(shí)候风瘦,可以新建一個(gè)release分支队魏,release分支可以對(duì)應(yīng)測(cè)試環(huán)境,不應(yīng)該在release分支上進(jìn)行新功能開(kāi)發(fā)万搔,release分支僅僅應(yīng)該進(jìn)行功能驗(yàn)證與bug修復(fù)胡桨。release分支發(fā)布時(shí),要雙向merge到develop和master瞬雹。
hotfix分支:當(dāng)生產(chǎn)環(huán)境發(fā)現(xiàn)bug時(shí)昧谊,可以通過(guò)新建hotfix分支,來(lái)修復(fù)bug,修復(fù)后雙向merge到develop和master酗捌。
參考:
http://nvie.com/posts/a-successful-git-branching-model/