Git flow看上去很復(fù)雜,所以讓我們簡(jiǎn)要地看一看分支是用來(lái)做什么的:
。 主干分支只包含完成的工作。因?yàn)樗鼈兿喈?dāng)于發(fā)行版,所有的提交都打了標(biāo)簽。
所有的發(fā)行版都源于主干。
。 開(kāi)發(fā)分支用來(lái)開(kāi)發(fā)下一個(gè)發(fā)行版。當(dāng)工作完成時(shí),開(kāi)發(fā)分支會(huì)被合并到主干。
。 我們?yōu)樗械男鹿δ苁褂貌煌墓δ芊种А9δ芊种?huì)被合并到開(kāi)發(fā)分支。
。 如果生產(chǎn)環(huán)境出現(xiàn)了一個(gè)重大缺陷,會(huì)在開(kāi)始修復(fù)缺陷時(shí)創(chuàng)建一個(gè)熱修復(fù)分支。
這個(gè)熱修復(fù)分支之后會(huì)被合并到主干,然后被用來(lái)生成一個(gè)新的發(fā)行版。
Git flow是一個(gè)集中式的模式,同樣,它是Subversion、CVS流程的懷舊版。最主要的區(qū)別是使用Git會(huì)有一些技術(shù)和效率上的優(yōu)勢(shì)。
另一個(gè)策略,稱為forking模式,就是每一個(gè)開(kāi)發(fā)者都有一個(gè)集中式代碼庫(kù),除了在企
業(yè)內(nèi)雇傭例如外包等外部團(tuán)體以外很少使用。