老大让把最近由我负责维护的项目,由VSS环境迁移到SVN环境开发。让我感受到了SVN的版本控制的强大。由于很少用过SVN进行代码管理,开始时候还是遇到了不少困难的。今天,我专门就 主干-分支代码的合并问题,做一下记录。原因是,之前由到网上百度过Eclipse的SVN插件的主干-分支合并的问题,但是大多数都没能解决我的问题,大多数都是用命令符进行控制的,系统大概是在linux上操作的吧,对于还是菜鸟的我,还是过于高深了。
下面说一说Windows环境下Eclipse的SVN插件的代码管理吧。(本来接好了图的,但是公司环境不能上传,郁闷啊!)
- 主干上建立分支:右键→team→branch/tag 填写你要建立的分支的路径名。然后一路next。
- 切换到自己的分支进行代码编写:右键→team→other Branch
- 此时主线上代码有更新,需要合并主线的代码:
右键→team→merge
选择Reintegrate a branch
Merge From 选择主干的路径
一路默认选择,finish后,SVN会自动将代码合并,并保留由冲突的代码。 - 合并主干代码完事后,需要将本地代码和分支代码进行同期化操作。右键→team→同期化,然后将最新的代码commit到自己的分支上面,即完成了主干代码的合并操作。
- 在主干上合并分支代码,操作也是一样的,只不过选择Merge From时选择的路径是分支的路径罢了。
在没找到上面的方法之前,我们试过尝试用replace操作来代替merge操作,结果出现了很大的叉子。注意replace操作会将replace文件的所属的服务器地址信息一块替换了,比如在分支上将某个文件replace主干的文件,那么分支上的这个文件其实对应的是主干的文件,而非自己分支的文件
这样再和主干进行比较时,你会发现,即使你已经修改了这个文件,结果始终和主干文件是一样的。