如果工作的代碼將會(huì)部署到服務(wù)器上,在企業(yè)間約定分支策略是很重要的事。
中培講師劉老師認(rèn)為,分支策略是一個(gè)約定,或者說(shuō)是一系列的規(guī)則,描述了應(yīng)該何時(shí)創(chuàng)建分支、如何命名、分支應(yīng)該如何使用,等等。
當(dāng)你和其他人一起工作時(shí),分支策略非常重要。在某種程度上,當(dāng)你獨(dú)自工作時(shí),它就沒那么重要了,但是它仍然應(yīng)該是為了某種原因而創(chuàng)建的。
許多源代碼管理系統(tǒng)包括Git并沒有規(guī)定一個(gè)特定的分支策略。SCM只是簡(jiǎn)單地給你分支工具罷了。
使用Git和其他分布式版本控制系統(tǒng)的話,在一個(gè)本地的特性分支上工作的開銷很小。分支僅僅是一個(gè)用來(lái)持續(xù)追蹤關(guān)于特定的功能、缺陷等的分支、特性或者說(shuō)主題而已。用這種方式,所有關(guān)于特定功能的代碼將會(huì)一起處理。
有許多著名的分支策略。Vincent Driessen規(guī)定了一個(gè)分支策略稱為Git now,它有許多不錯(cuò)的特性。對(duì)于某些人來(lái)說(shuō),Git flow太復(fù)雜了,在那些案例里,它是可以縮減的。還有許多可用的縮減版模型。
Git flow看上去很復(fù)雜,所以讓我們簡(jiǎn)要地看一看分支是用來(lái)做什么的:
主干分支只包含完成的工作。因?yàn)樗鼈兿喈?dāng)于發(fā)行版,所有的提交都打了標(biāo)簽。
所有的發(fā)行版都源于主干。
開發(fā)分支用來(lái)開發(fā)下一個(gè)發(fā)行版。當(dāng)工作完成時(shí),開發(fā)分支會(huì)被合并到主干。
這個(gè)熱修復(fù)分支之后會(huì)被合并到主干,然后被用來(lái)生成一個(gè)新的發(fā)行版。
Git flow是一個(gè)集中式的模式,同樣,它是Subversion、CVS流程的懷舊版。最主要的區(qū)別是使用Git會(huì)有一些技術(shù)和效率上的優(yōu)勢(shì)。
另一個(gè)策略,稱為forking模式,就是每一個(gè)開發(fā)者都有一個(gè)集中式代碼庫(kù),除了在企
業(yè)內(nèi)雇傭例如外包等外部團(tuán)體以外很少使用。
想了解更多IT資訊,請(qǐng)?jiān)L問(wèn)中培偉業(yè)官網(wǎng):中培偉業(yè)