大家好,今天來為大家分享代碼集成到主干之前的一些知識點,和代碼部署工具的問題解析,大家要是都明白,那么可以忽略,如果不太清楚的話可以看看本篇文章,相信很大概率可以解決您的問題,接下來我們就一起來看看吧!
單一代碼主干什么意思
單一代碼主干可以理解為單個的主要代碼
代碼迭代管理,怎樣做比較好
代碼管理的話,常用的工具就是Git和Svn。Git的話,功能更強,不過使用上繁瑣一些。Svn的話,功能比較簡單,出問題的幾率也比較高,不過使用上比較簡單。
在管理工具上選擇的話,個人建議小團隊選擇svn,小團隊其實用不了太多的功能,svn操作方面,比較適合小團隊使用。如果團隊較大,或者項目是多個團隊協(xié)作的,Git合適一點,能夠集成更多的功能,管理上也規(guī)范一些,還能夠進行代碼的審查。
在具體的管理方法上,需要每個迭代分版本分支進行控制由于研發(fā)人員的人力成本比較高,我們不可能讓研發(fā)人員長時間的閑置。所以大多數(shù)情況下,我們的研發(fā)步驟會是:
1.研發(fā)團隊開始研發(fā)版本A
2.版本A提測
3.測試開始測試版本A,研發(fā)人員繼續(xù)研發(fā)版本B
4.版本A發(fā)現(xiàn)Bug,對版本A進行修復(fù)
5.版本A發(fā)布
然后不停的執(zhí)行這個循環(huán)。在這個過程中,研發(fā)人員需要同時修改版本A和版本B,并且相互之間還不能有所影響,這除了對代碼管理的工具有要求外,還需要在管理方式上有所規(guī)范。
不管在任何的源代碼管理工具中,我們都有主干和分支兩種代碼版本,就好像是樹的樹干和樹枝一樣。主干是作為持續(xù)研發(fā)的版本存在的,而分支是為了維護當(dāng)前某個狀態(tài)的版本存在的。
因此:
1.我們研發(fā)團隊正在進行版本A的研發(fā),這是在主干上完成;
2.研發(fā)團隊提測版本A,這是我們需要建立一個當(dāng)前主干的分支;
3.測試進行版本A的測試,研發(fā)繼續(xù)版本B的研發(fā),這是主干的版本變成了版本B;
4.測試發(fā)現(xiàn)了版本A的Bug,研發(fā)去修復(fù),就需要對分支的版本進行Bug的修復(fù),同時將代碼合并到主干中;
5.版本A發(fā)布,這時凍結(jié)版本A所對應(yīng)的分支版本。
于是,我們的整個研發(fā)迭代過程中,就會有一個一直持續(xù)變化版本的主干,和一個可能出現(xiàn)小版本變化的分支。
一個主干可以有若干個分支,這時一個不停持續(xù)的過程,而分支也可以有分支,例如:我們在某個分支版本上需要進行迭代的需求時,這個分支就會發(fā)生和主干一樣的過程,進行持續(xù)的迭代和提測、發(fā)布。
當(dāng)然,這只是一個非常單純的版本管理場景,我們實際的工作中,會比這個復(fù)雜得多。我遇到過一個極端的情況,就是我們在做1.4版本的研發(fā)時,同時進行2.0版本的研發(fā)。1.4作為一個分支,不停的產(chǎn)生他的分支1.4.1、1.4.2,甚至到1.5版本,2.0作為主干,持續(xù)的進行研發(fā)。
當(dāng)我們的2.0版本完成到了80%的時候,由于各方面的原因,這個版本在廢棄掉了,我們在1.5版本的基礎(chǔ)直接進行3.0版本的研發(fā)。
這時,我們廢棄的2.0從主干變?yōu)榱朔种Р⑶疫M行凍結(jié)。原有的1.5版本由分支變?yōu)榱酥鞲蛇M行其它小分支版本的迭代和3.0版本的迭代。這些情況都是需要我們在實際工作中根據(jù)代碼管理的思路進行控制的,一但沒有控制好,可能就會出現(xiàn)某個版本源代碼的遺失,導(dǎo)致需要在穩(wěn)定版本上面修復(fù)一個小Bug的代價變得非常大,而且還可能出現(xiàn)不可預(yù)知的風(fēng)險。
所以,別把代碼管理看得無所謂。
git分支主干是什么意思
例如,在一個項目中,你的項目進行中遇到了一個問題,解決方案不確定,但是你不希望因此影響到當(dāng)前的開發(fā),那么你可以為此創(chuàng)建一個分支,分支包含目前主干上的所有內(nèi)容,然后在分支上測試你的方案,而絲毫不影響主干的進行;如果可行那么可以通過合并分支功能將你的更新應(yīng)用到主干,反之你可以放棄它。
而主干就是項目代碼的最終版本。
git合并分支到主干流程
1.切換到主干master:gitcheckoutmaster
2.在master上執(zhí)行g(shù)itpull拉取遠端最新代碼
3.在master上合并分支代碼:gitmerge分支名
若有沖突,根據(jù)提示哪個文件沖突,打開沖突文件編輯保存后重新合并分支代碼(gitmerge分支名)
4.提交到遠端(重要):gitpush
華為源代碼管理辦法
當(dāng)下對于代碼的管理,主要采用gitLab或GitHub,然而使用git進行代碼管理過程中,一般有四種開發(fā)模式,分別為主干開發(fā)主干發(fā)布,主干開發(fā)分支發(fā)布,分支開發(fā)主干發(fā)布,分支開發(fā)分支發(fā)布。四種開發(fā)模式各有特色,下面將從針對四種開發(fā)模式進行一一說明。
但是針對微服務(wù)體系下,代碼的管理,一般建議采用分支開發(fā)主干發(fā)布。
1.代碼管理模式
1.1.主干開發(fā)+主干發(fā)布模式
模式特點:所有的操作都在主干上進行操作,隨著時間的演進,代碼只有一個版本,任何修改,均體現(xiàn)在主干上面,開發(fā)過程比較簡單。
操作權(quán)限:該種模式對于開發(fā)人員與項目經(jīng)理等在代碼提交方面,權(quán)限相同;
適用場景:該種模式適用于團隊規(guī)模較小,業(yè)務(wù)模型明確,且人員技能較高的開發(fā)團隊。
1.2.主干開發(fā)+分支發(fā)布模式
模式特點:所有的操作都在主干上進行操作,隨著時間的演進,代碼具有多個版本,運行多個版本可并行提供服務(wù)。
操作權(quán)限:該種模式對于開發(fā)人員與項目經(jīng)理等在代碼提交方面,權(quán)限相同;
適用場景:該種模式適用于多版本并存,但只維護一個版本的
代碼集成到主干之前的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于代碼部署工具、代碼集成到主干之前的信息別忘了在本站進行查找哦。