Svn管理项目是很普遍的。很多公司都用这个。
这次有一个需求比较复杂,做的时间可能很长,在这段时间内又要正常发布版本。为了这个新的功能不影响这些发布的版本,我们会进行分支开发。
分支开发遇到的问题很多啊。下面说一下步骤:
创建分支
在项目的trunk分支下右击项目出现下拉—>Team—>分支/标记
出现以上界面
上面的到“URL:”输入框里面填写要将项目copy到的分支URL,一般我们在trunk目录的项目路径获取之后,比如
http://xxx.com/repos/android/trunk
我们只需要将路径中从trunk开始到最后改为branches/分支的项目名称.(名字随便起,不过一般要起有意义的)。
注意:如果你可以直接管理svn服务器,那么在branches下不要存在新的分支项目名称,不然创建分支不成功。意思就是比如我创建分支到branches下的ProjectOne目录,我的地址就是:http://xxx.com/repos/android/branches/ProjectOne,这时候在svn服务器不能已经存在这个ProjectOne目录。
然后一路next到下面界面:
这里面有一个“切换工作复本为新的分支/标记”,就是是否在分支创建完成后自动切换到新分支。
我选择的是不自动。我们手动切换。
右击项目—>Team-->切换
进入:
至URL里面写分支的URL
点击OK就可以了。
分支合并到主干
分支开发结束要将代码合并到主干中。
分支合并到主干步骤:
1、 将分支中改动的代码全部提交。
2、 切换到trunk
3、 右击项目—>Team-->合并
选择merge two different trees
然后不要选中左下角的Perform pre-merge best practices checks(这个一定不要选中,不然后面不可操作),点击next
进入
上面的from 要写分支的URL,点击Revision输入框右边的Select按钮,选择一个分支的版本,这个一般都选最新的。
To 选择HEADRevision 点击next。
进入:
点击finish,就ok了。
这个时候由于分支上面改动了一些代码,而trunk里面也有代码的修改。我们可能要做一下手动的解决冲突。
这样分支合并到主干就OK了。