原文地址:http://blog.163.com/qq371557620@yeah/blog/static/8428365820172110320574/
編碼過程中,我們經常會遇到需要多個分支並行開發的情況。那么問題來了,在svn下如何建分支,開發任務完成后如何分支合並就成了開發人員需要熟練掌握的svn技能。
1、創建分支
在trunk(主干)上點擊右鍵,在tortoiseSVN菜單中選擇Branch/tag;
彈出對話框
在to path輸入框中輸入新建分支的路徑,一般是:branches/分支名,也就是相當於分支保存的路徑名。
在下面選擇head revision in the repository,為當前SVN中trunk目錄下最新的代碼建立分支,如果需要為指定的revision建立分支,可以選擇。
點擊OK完成分支建立
打開branch目錄,此時沒有任何文件,沒有剛才建立的分支。這是因為分支創建操作是在服務器端完成的,當需要編輯分支時,在branch目錄下點擊update,剛才建立的分支會下載下來。

1、當前復制源,及專業術語中的trunk(主干)
2、分支存放的位置,當然也是在svn版本庫中。
3、寫日志
4、是否把主干的路徑切換到分支,如果勾選了。建立分支之后,在主干里做出的修改並提交后,更新會提交到分支上,主干的原版本不會變。所以最好不要勾選。
2、合並分支
加入我們是要將trunk合並到branch,那么我們就應該是在branch上操作(及在那個合並“到”的目錄下操作)
在branch(分支)上點擊右鍵,在tortoiseSVN菜單中選擇merge;
彈出對話框中選擇merge type
Merge a range of revisions(一般主要選擇這個)
然后點擊next按鈕
彈出對話框

1、合並的來源
2、合並的目的
注:合並的結果會直接與目前「工作目錄」(Working Copy) 做比對,並修改目前工作目錄中的所有文件。因此建議在做合並之前可以將所有尚未 commit 的檔案先 commit 到版本庫,避免不必要的沖突事件發生
然后差不多就是點擊next--->ok就可以了。當然在點擊OK之前還可以點擊“test merge”試試。
總結:
1、分支穿件主要是現在服務器端操作,本地需要update之后才能看到相關文件
2、合並前,主要是操作的那個目錄先進行commit、update,保證不會out of day。再進行merge操作
3、合並發生在本地的working copy,只要不提交(commit)就不會影響到repository.