學(xué)習(xí)連接:http://blog.csdn.net/mycwq/article/details/51793847
將trunk中的修改同步到branch
6-8演示的是branch和trunk在獨(dú)立端幼、并行地開(kāi)發(fā)葫督。為了防止在“錯(cuò)誤”的道路上越走越遠(yuǎn),現(xiàn)在branch意識(shí)到是時(shí)候和trunk來(lái)一次同步了(將trunk合并到branch)如绸。
首先,在本地trunk中先update一下蔽氨,有沖突的解決沖突换可,保證trunk和repository已經(jīng)完全同步誉碴,然后在/branches/MyProject上右鍵,依次選擇"TortoiseSVN" -> “Merge...”舌缤,在彈出的窗口中選擇第一項(xiàng)"Merge a range of revision"箕戳,這個(gè)類型的Merge已經(jīng)介紹得很清楚,適用于將某個(gè)分支或主線上提交的多個(gè)revision間的變化合并到另外一個(gè)分支上友驮。
[圖片上傳失敗...(image-180afa-1513318243092)]
點(diǎn)擊next后漂羊,出現(xiàn)如下窗口:
[圖片上傳失敗...(image-59754e-1513318243092)]
由于是要從trunk合并到branch,理所當(dāng)然這里的"URL to merge from"應(yīng)該填trunk的路徑卸留,"Revision range to merge"很好理解走越,就是你要將trunk的哪些revision所對(duì)應(yīng)的變化合并到branch中,可以是某一連串的revision耻瑟,比如4-7旨指,15-HEAD,也可以是某個(gè)單獨(dú)的revision號(hào)喳整。由于在r4中谆构,trunk修改了Person.java中的talk()方法,所以這里的revision只需填4即可框都。點(diǎn)擊next后出現(xiàn)下圖:
[圖片上傳失敗...(image-cb4e0a-1513318243092)]
在這里只需保留默認(rèn)設(shè)置即可搬素。在點(diǎn)擊Merge按鈕前你可以先Test merge一把,看成功與否,以及merge的詳細(xì)信息熬尺。點(diǎn)擊Merge按鈕后trunk所做的修改將同步到branch中摸屠。
10、提交合并后的branch
[圖片上傳失敗...(image-21cad2-1513318243092)]
至此粱哼,branch已經(jīng)完全和trunk同步季二,branch和trunk的代碼相處很融洽,沒(méi)有任何沖突揭措,如果branch已經(jīng)開(kāi)發(fā)結(jié)束胯舷,那是時(shí)候?qū)ranch合并回trunk了,當(dāng)然绊含,如果branch還要繼續(xù)開(kāi)發(fā)桑嘶,那你將不斷地重復(fù)6-10這幾個(gè)步驟。
11艺挪、將branch合并回trunk
在/trunk/MyProject上右鍵(注意是在主線的目錄上右鍵)不翩,依次選擇"TortoiseSVN" -> "Merge...",在彈出的窗口中麻裳,Merge type選擇第二項(xiàng)"Reintegrate a branch"口蝠,這種類型的合并適合在分支開(kāi)發(fā)結(jié)束后將所有的改動(dòng)合并回主線。
[圖片上傳失敗...(image-9fd097-1513318243092)]
點(diǎn)擊next后出現(xiàn)如下窗口:
[圖片上傳失敗...(image-2765b4-1513318243092)]
在這里津坑,"From URL"選擇/branches/MyProject妙蔗,無(wú)需選擇revision號(hào),Reintegrate會(huì)將branch上所有修改合并到trunk疆瑰。后面的步驟和上文第9步中的一樣眉反,不再啰嗦了。如無(wú)意外穆役,branch將成功合并到trunk寸五,你需要做的只是將合并后的trunk趕緊commit!
12耿币、提交合并后的trunk
合并后的項(xiàng)目上右鍵梳杏,Temp -> Commit。
13淹接、刪除branch
如果你認(rèn)為你新加的功能已經(jīng)開(kāi)發(fā)完成了十性,你可以刪除你的分支!
14塑悼、查看log信息
到這里劲适,我已經(jīng)給你演示完了整個(gè)過(guò)程,不過(guò)最后我們還是看看所有的log信息吧厢蒜,通過(guò)log能發(fā)現(xiàn)我們干的所有事情:
[圖片上傳失敗...(image-9c3fef-1513318243092)]
r1-r7正是我上文在干的事情霞势,從Message中你能發(fā)現(xiàn)我對(duì)trunk和branch都干了什么烹植,另外,在Log Messages窗口的左下角勾選了"Include merged revisions"你還能看到額外的Merge information:
[圖片上傳失敗...(image-6d0a20-1513318243092)]
圖中灰色的是和merge相關(guān)的log支示,共發(fā)生了兩次merge刊橘,第一次是在r6,在r6中颂鸿,branch合并了trunk在r4時(shí)提交的變化;第二次是在r7攒庵,在r7中嘴纺,trunk合并了branch從r2到r6的所有變化。