版本管理中有一个很重要的概念,就是主干和分支。对应于主干和分支之间代码的合并操作,就会用到svn merge。
svn提供了4种不同形式的merge方法,分别如下:
1. merge SOURCE[@REV] [TARGET_WCPATH]
(the 'sync' merge) **同步合并**
2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]
(the 'cherry-pick' merge) **摘选合并**
3. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]
(the 'reintegrate' merge) **归源合并**
4. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]
(the '2-URL' merge) **双URL合并**
我们逐个进行介绍
1. merge SOURCE[@REV] [TARGET_WCPATH]
merge的第一种用法,就是最基本的合并方式。
首先从字面上解释一下,source指需要合并的代码源,TARGET_WCPATH指目标工作区间,这条命令的意思是把source的内容合并到TARGET_WCPATH。
再来解释一下merge的过程。在合并的过程中,svn会对两个路径下的文件夹、文件进行对比。
- 从根目录开始,source中的文件夹如果中TARGET_WCPATH找不到同名文件夹,则直接复制到TARGET_WCPATH;
- 如果找到同名文件夹,则文件夹内再依次深层