Git版本思路是什么

這篇文章給大家介紹Git版本思路是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)公司專注于愛(ài)民企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),成都商城網(wǎng)站開(kāi)發(fā)。愛(ài)民網(wǎng)站建設(shè)公司,為愛(ài)民等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

簡(jiǎn)單的說(shuō),git的管理策略目前有兩大流派。平時(shí)和同事聊天或和別的公司的朋友交流時(shí)也能夠感覺(jué)的到,即Git One Track和Git-flow。?

一個(gè)軌道?

One Track簡(jiǎn)單的說(shuō),就是整個(gè)團(tuán)隊(duì)在開(kāi)發(fā)項(xiàng)目時(shí)都在同一個(gè)分支上進(jìn)行。這也就意味著開(kāi)發(fā)階段的所有工作都集中在同一個(gè)分支,例如新功能開(kāi)發(fā)、bug的修復(fù)。當(dāng)然,One Track策略并不意味著只有一個(gè)分支,而是只有一個(gè)開(kāi)發(fā)分支。當(dāng)達(dá)到團(tuán)隊(duì)設(shè)定的里程碑時(shí),可以開(kāi)一個(gè)新的分支用來(lái)維護(hù)這個(gè)基本穩(wěn)定的版本,這個(gè)維護(hù)分支只進(jìn)行維護(hù)的工作,而不進(jìn)行開(kāi)發(fā)的工作。同時(shí),開(kāi)發(fā)分支繼續(xù)進(jìn)行最新的開(kāi)發(fā)工作。?

使用這種策略的最大特點(diǎn)就是大家都在同一個(gè)分支上工作,因此每次提交代碼都有可能會(huì)有沖突。為了減少?zèng)_突,團(tuán)隊(duì)也常常會(huì)提高提交的頻率,同時(shí)每次提交的顆粒度都比較小。同時(shí),管理成本比較低,整個(gè)團(tuán)隊(duì)的學(xué)習(xí)成本也比較低。?

在我之前的項(xiàng)目中,參與過(guò)一個(gè)剛從svn切換到git的團(tuán)隊(duì),我們使用過(guò)一段時(shí)間One Track的工作方式,可以看到這種策略對(duì)整個(gè)團(tuán)隊(duì)接觸和適應(yīng)git還是很有好處的。?

但是我相信更多的人還是更推崇另外一種策略,即Git-Flow策略。?

gitflow?

首先我相信很多人一定在哪里會(huì)見(jiàn)過(guò)下面這張圖: ?

這張圖已經(jīng)能很好的說(shuō)明了gitflow了。即任何變更都是一個(gè)分支。?

可以看到,這張圖中的分支雖然很多,但是大體上可以分為兩類。即主要分支和輔助分支。?

主要分支?

主要分支即git默認(rèn)的mater分支以及一個(gè)主開(kāi)發(fā)分支develop。?

master分支是git默認(rèn)的主分支,平時(shí)團(tuán)隊(duì)不在該分支上進(jìn)行開(kāi)發(fā)。而主開(kāi)發(fā)分支develop則管理著開(kāi)發(fā)人員提交的代碼,當(dāng)代碼穩(wěn)定時(shí)或固定一個(gè)周期,將develop分支上的代碼合并到主分支。?

輔助部門(mén)?

輔助分支是團(tuán)隊(duì)每個(gè)開(kāi)發(fā)人員都能接觸到的,常見(jiàn)的輔助分支包括:?

? 功能科?

? 出版公司?

? 修理分公司?

這三類分支都有其對(duì)應(yīng)的使用場(chǎng)景。?

開(kāi)發(fā)新的功能時(shí),需要從主開(kāi)發(fā)分支上創(chuàng)建一個(gè)新的功能分支,待該分支上的功能開(kāi)發(fā)完畢之后,再合并會(huì)主功能分支。?

發(fā)布分支則是在版本發(fā)布時(shí)創(chuàng)建的分支, 按照產(chǎn)品里程碑的需求包括應(yīng)該完成的功能。?

修復(fù)分支則是當(dāng)出現(xiàn)bug時(shí),為了不影響開(kāi)發(fā)分支,因此創(chuàng)建出一個(gè)新的分支來(lái)修改bug,之后再合并回開(kāi)發(fā)分支。?

因此我們可以看到,GitFlow的策略無(wú)論是開(kāi)發(fā)功能還是修復(fù)bug都是以分支的方式來(lái)進(jìn)行。這樣做的好處當(dāng)然是管理上十分干凈。但是由于功能開(kāi)發(fā)時(shí)間相對(duì)要長(zhǎng)、代碼提交的粒度相對(duì)較大,因此在分支合并的時(shí)候有可能會(huì)出現(xiàn)沖突的問(wèn)題,另外一個(gè)問(wèn)題是對(duì)整個(gè)團(tuán)隊(duì)的要求要比One Track策略大。?

不過(guò),并沒(méi)有最完美的方案,有的也僅僅是更適合團(tuán)隊(duì)的方案。例如很多團(tuán)隊(duì)包括我現(xiàn)在都更喜歡將兩種方式混合使用,例如針對(duì)One Track都在同一個(gè)分支上開(kāi)發(fā),可能不夠干凈,我們就可以適當(dāng)?shù)拈_(kāi)一個(gè)新的分支也用來(lái)開(kāi)發(fā)。針對(duì)GitFlow提交合并時(shí)代碼粒度大、沖突多,我們就每天都同步一次代碼而不必等整個(gè)功能都完成再合并到主開(kāi)發(fā)分支。?

關(guān)于Git版本思路是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享文章:Git版本思路是什么
分享地址:http://muchs.cn/article30/gjgsso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、網(wǎng)站收錄ChatGPT、企業(yè)建站、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)