真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

你真的會解決代碼合并沖突么?

   先來了解下什么是沖突吧。沖突就是代碼 String str="aaaa" 被同時修改,一個要變成String str="bbbb";一個要變成String str="cccc";這就在代碼合并的時候就帶來了沖突。如果代碼合并是從主干rebase到分支,如果出現(xiàn)沖突,都是以主干為準(zhǔn)(以保證已有的功能不受到影響),就會出現(xiàn)主干代碼強制覆蓋分支的代碼。出現(xiàn)沖突后有4個文件(以pom.xml文件為例):

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了志丹免費建站歡迎大家使用!

   1.pom.xml                       ---------合并后的文件,如果有沖突會有<<<<<<<沖突提示符

   2.pom.xml.merge-left.r1298      ---------主干的前一個版本,也就是計算是否有沖突的根文件

   3.pom.xml.merge-分支            ---------本地分支的代碼,也就是你要求rebase主干的分支代碼

   4.pom.xml.merge-來源.r1313      ---------主干的代碼

有些人認(rèn)為解決沖突只要看1中的pom.xml中的沖突提示符就夠了。然后對有沖突的地方一一解決就夠了。如下圖:

   你真的會解決代碼合并沖突么?

   

   實際上只是看這個是遠(yuǎn)遠(yuǎn)不夠的。有這樣的一種情況。String str="aaaa",被同時修改,trunk上已經(jīng)是String str="bbbb";本地分支又被修改為String str="cccc";另外一個變量 String str2 = "aaaa2";trunk上沒有變化,只是本地分支被修改為了String str2="cccc2";這個時候svn會將這個文件視為有沖突,因為str 即想變?yōu)閎bbb又想變?yōu)閏ccc,會計算為沖突。但是str2從沖突的定義上來看不是一個沖突,因為只有一個地方修改。svn在代碼合并的時候,發(fā)現(xiàn)這個文件有沖突會直接用trunk的內(nèi)容覆蓋分支的內(nèi)容,并且將str的地方打上沖突提示符。但是str2的地方就不會打上沖突標(biāo)識符,因為它不是一個沖突。因此這個文件合并后就是這樣的:

   你真的會解決代碼合并沖突么?

   如果只是按照沖突提示符去合并就會出現(xiàn)本地代碼丟失的場景。那么正確的合并沖突解決方法應(yīng)該是什么呢?應(yīng)該是根文件(上面提到的pom.xml.merge-left.r1298),分支文件(pom.xml.merge-分支),trunk文件(pom.xml.merge-來源.r1313)進(jìn)行三方比較。比較工具我使用的是Beyond Compare 3。如下圖所示:

   你真的會解決代碼合并沖突么?

你真的會解決代碼合并沖突么?

   從上圖可以看出,真正出現(xiàn)沖突的是version1會打上沖突提示符,version是直接被trunk的覆蓋。合并后的文件如下圖:

   你真的會解決代碼合并沖突么?

   合并沖突的時候應(yīng)該對這三個文件進(jìn)行三方比較,具體操作可以使用上面標(biāo)紅的直接定位。合并的時候一定要清楚那些是需要保留分支的,那些是需要保留主干的。


當(dāng)前題目:你真的會解決代碼合并沖突么?
轉(zhuǎn)載注明:http://weahome.cn/article/jcjegd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部