一. 背景:

1. 项目中为何要创建分支,及合并?      比如我现在项目所有的文件放在主干上(trunk)中,由于需求的变更,需要增加新的需求,但是我们主干上还要继续往下开发,在此我们可以新建一个分支,来做增加新的需求那一块,主干上继续开发,等分支上代码没有问题的时候,再合并到主干上来。
创建分支的最大的目的就是跟主线进行并行开发时候不影响主线的开发。

2. 如何操作?
    假如我本地新建一个文件夹test下有2个文件夹trunk(存放主干上的代码)和branch(存放分支上的代码),如下所示:

android studio svn合并分支_txt文件

二. 先提取主干上的代码:

1. 点击trunk --> 鼠标右键 --> 点击SVN Checkout --> 弹出一个对话框,如下图所示:

android studio svn合并分支_svn_02

2. 最后点击上面的checkout按钮后,就可以在主干上把代码从远程服务器上获取到,如下所示:

android studio svn合并分支_svn_03

注:

下一讲,将讲如何搭建SVN服务器。


三. 新建分支:

从trunk(主干上)创建分支(branch)步骤如下:

1. 右键trunk --> branch/Tag 如下图:


android studio svn合并分支_服务器_04


在弹出的下框如下图:


android studio svn合并分支_svn_05


点击ok按钮后,就可以在VisualSVN Serval服务器上新增newBranch,是从如上服务器qianduan3上的文件拷贝一份的,如下所示:


android studio svn合并分支_svn_06


现在我们可以再来看看本地branch文件夹了,我现在直接进入branch文件下,右键 --> Chenckout下,就可以把newBranch下的所有文件提取出来了,如下所示:


android studio svn合并分支_服务器_07

android studio svn合并分支_svn_08


点击ok按钮就可以把文件提取出来了,如下图所示:


android studio svn合并分支_txt文件_09


分支目前建立在svn的服务器端,本地并没有更新,对本地branch文件夹 右键--> update即可,就可以更新到分支代码,如下所示:


android studio svn合并分支_右键_10


四. 合并分支到主干上:


比如我现在对branch分支上新增3.txt文件,然后提交上去,如下所示:


android studio svn合并分支_svn_11


我现在想把分支上的代码3.txt合并到主干上trunk,现在要怎么合并呢?步骤如下:

1. 回到我们刚刚的主干(trunk)文件夹下,鼠标右键该文件夹 --> TortoiseSVN --> Merge 


android studio svn合并分支_右键_12


2. 在弹出的窗口,如下图所示:


android studio svn合并分支_svn_13

3. 接着点击【Next】下一步,如下图所示:


android studio svn合并分支_服务器_14


4. 再接着点击【Next】下一步,如下图所示:



android studio svn合并分支_txt文件_15

android studio svn合并分支_右键_16

就可以看到主干trunk上多了一个3.txt, 就是从分支上合并过来的。


五:合并主干到分支


 如果主干上有一些更新,比如说jar包更新等等,那么这些要更新到分支上去,如何操作呢?比如我现在在主干上新建一个4.txt文件,比如如下:


android studio svn合并分支_txt文件_17


我现在的分支上目录如下:


android studio svn合并分支_svn_18


现在是想把主干上的4.txt合并到分支上来,要如何操作?

1. 我们在分支点击branch --> 右键TortoiseSVN --> Merge 


android studio svn合并分支_txt文件_19


2. 在弹出新窗口后,如下图所示:


android studio svn合并分支_txt文件_20


3. 接着点【Next】下一步,如下图所示:


android studio svn合并分支_右键_21


4. 继续下一步,如下图:


android studio svn合并分支_txt文件_22


5. 最后直接merge,就可以看到分支branch上也有主干上的4.txt文件了,也就是说,合并主干到分支上也是可以的,如下图所示:



android studio svn合并分支_txt文件_23