
- 類(lèi)型:編程輔助大。23.4M語(yǔ)言:中文 評(píng)分:4.6
- 標(biāo)簽:
使用TortoiseSVN新建分支
由于這三個(gè)目錄是剛建好的,為了更好體現(xiàn)分支的新建及合并對(duì)項(xiàng)目中代碼的影響,先偽造點(diǎn)代碼文件。
打開(kāi)trunks目錄,在trunks目錄下新建兩個(gè)文本文件A.java,B.java:
打開(kāi)A.java輸入以下內(nèi)容:
B.java文件可以隨機(jī)輸入些,本例中主要用于觀察后續(xù)是否變化。
兩個(gè)文件編輯完成后使用SVN Commit將更改提交到SVN:
下面開(kāi)始創(chuàng)建分支:
1、在trunks上點(diǎn)擊右鍵,在TortoiseSVN菜單中選擇Branch/Tag;
2、在To path輸入框中輸入新建分支的路徑,一般是:/branches/分支名,也就是相當(dāng)于分支保存的路徑名;
3、在下面選擇HEAD revision in the repository,為當(dāng)前SVN中trunks目錄下最新的代碼建立分支,如果需要為制定的revision建立分支,可以進(jìn)行選擇;
4、點(diǎn)擊OK分支建立完成。
打開(kāi)branches目錄,發(fā)現(xiàn)目錄依然為空,沒(méi)有剛才建立的分支,這是因?yàn)榉种Ы⒌牟僮魇窃诜⻊?wù)器端完成的,當(dāng)需要編輯分支時(shí),在branches目錄點(diǎn)擊Update,剛才建立的分支就會(huì)下載下來(lái)。
建立分支的過(guò)程會(huì)非常的快,不會(huì)因?yàn)橹鞲芍械奈募喽档退俣龋蚝罄m(xù)說(shuō)明。
使用TortoiseSVN合并分支
第二篇中舉過(guò)例子,有可能存在主干、分支并行開(kāi)發(fā)的情況,下面我們模擬一下。
將剛才新建的分支Update下來(lái),打開(kāi)分支中的A.java,對(duì)其進(jìn)行編輯如下:
在打開(kāi)trunks主干中的A.java,對(duì)其進(jìn)行編輯如下:
對(duì)以上兩個(gè)文件的改動(dòng)基本上模擬了分支、主干并行的情況,兩個(gè)目錄下的同一個(gè)文件被分別修改。
將以上兩個(gè)文件的改動(dòng)Commit,下面進(jìn)行合并操作。
下面開(kāi)始合并分支到主干:
1、在trunks上點(diǎn)擊右鍵,在TortoiseSVN菜單中選擇Merge;
2、在彈出的窗口中選擇第二項(xiàng),可以理解為合并兩個(gè)樹(shù);
3、在From和To中都選擇要合并的分支目錄;
4、在From的Revision選擇創(chuàng)建分支時(shí)的那個(gè)Revision,具體就是點(diǎn)擊Show log,選擇最下面那一條;
5、在To的Revision選擇HEAD Revision,也就是最新操作;
6、點(diǎn)擊Next,下一個(gè)頁(yè)面使用默認(rèn)項(xiàng),點(diǎn)擊Merge;
7、合并完成。
這時(shí)候會(huì)發(fā)現(xiàn)trunks目錄下的文件已被修改,這時(shí)候的合并操作是在本地完成的,并沒(méi)有提交到SVN,這與分支建立時(shí)有區(qū)別,請(qǐng)注意。
也就是說(shuō)如果你在本次合并中發(fā)現(xiàn)問(wèn)題,只需要對(duì)trunks目錄Revert,放棄本次合并即可。
可以看一下trunks目錄合并后的A.java文件,大家與前面對(duì)照下,已達(dá)到我們想要的合并效果:
創(chuàng)建分支時(shí)發(fā)生了什么
SVN服務(wù)器在創(chuàng)建分支時(shí)的拷貝是非常有效率的,瞬間就可以完成,并且只需要很少的空間來(lái)存儲(chǔ),所以不需要擔(dān)心分支建立過(guò)多導(dǎo)致項(xiàng)目倉(cāng)庫(kù)膨脹的問(wèn)題。
可以理解為SVN在服務(wù)器中存儲(chǔ)的是文件的引用,而非物理上的拷貝。
不要多次合并同一個(gè)分支到主干
合并分支有一個(gè)原則,就是不要對(duì)一個(gè)分支多次合并到主干,雖然你有可能在合并后又對(duì)分支進(jìn)行了修改,之所以這樣說(shuō)是有原因的。
上面提到在合并分支時(shí),在From的Revision選項(xiàng)中需要選擇合并的其實(shí)版本,如果是第一次合并只需要選擇最早的那個(gè)版本即可,但如果合并過(guò)一次,你真的能記得你上次合并時(shí)最后的Revision是多少嗎?
良好的操作是合并后新建分支。
合并主干到分支
其實(shí)合并是個(gè)可逆的過(guò)程,合并主干到分支與合并分支到主干正好是相反的操作,大家如果會(huì)了一種另一種應(yīng)該非常簡(jiǎn)單。
這里我就不演示了,如果真的需要的話可以在博客中評(píng)論,大家確實(shí)需要的話我會(huì)寫(xiě)出來(lái)。
記錄,為更好的自己!