一、创建版本库
1.创建版本库
svnadmin create D:DevRepositorySubversionERP
2.创建成功后产生目录
二、使用命令行模式访问SVN服务器
1. 检出
检出命令会在这一目录下创建一个隐藏目录.svn,用来保存与服务器交互的重要信息,其中包括从服务器端取回的最新版本信息、文件状态、更新时间等。
2. 提交
3.更新
4.回滚
三、日志
四、eclispe使用svn
1、因为原始的svn使用起来实在是太麻烦了,所以这次就更改为使用VisualSVNServer来进行操作,界面如下
比如目前主干是2.0版本,分支可能存放的是1.1版本,因为第一个版本的bug还没修完,而第二个还没测试完毕。所以1.0的暂时放在分支,等2.0时机成熟后进行合并。
主干分离出分支----》分支合并主干的修改-----分支修改完毕将修改部分集成回主干
2、eclispe进行svn的保存。
team--->sharprject
maven下的.settings和.project要进行忽略更新
Eclipse与maven插件的结合为我们快速搭建开发环境提供了便捷条件,然而maven编译出来的class文件、配置文件和打包文件实际上都不需要进行版本控制,
Team中每个人的开发环境可能不太一样,将.settings目录和.project等文件同步到svn甚至还会引起冲突和不便,因此最好将它们忽略,保持一个干净的svn环境。
最常见的就是用maven管理项目中的target目录
Window–>Preferences–>Team–>Ignored Resource–>Add Pattern
输入
*/target/*
忽略maven的个人设置后进行提交
添加默认忽略资源.settings目录和.project和.classpath
聚合工程因为聚合在一起所以只需要将父模块上传就可以了。
去除target
commmit 完毕到svn
对于svn上面import进来的maven项目转化为maven
冲突解决经验总结
1、原则性问题:
1)每天早上及时更新svn,team--->资源库同步(先初步修改)----->更新(或许会有冲突,冲突就修改自己修改的部分,其余依照服务器来做,修改完毕后标记为冲突解决),
只有更新后的冲突才能标记为已解决。
2)记得及时更新,降低代码的冲突修改复杂度。
3)下班前提交代码到svn上面去。
svn冲突解决方法:
在svn更新文件时会产生有冲突的文件,一般有两种解决办法:
1、更新文件之前直接查看对比不同之处,手动调整资源库中的文件内容和本地的文件内容进行合并;
2、直接更新,更新之后打开该文件会有这样的标识符<<<<<<< .mine,=======,>>>>>>>.r3541,这代表什么意思呢?
<<<<<<< .mine
这里的内容呢,就是你本地的内容,显而易见mine就是自己的意思嘛!
=======
而这里的内容就是资源库中的内容,这是svn更新之时自动合并产生的结果;
>>>>>>>.r3541
(这里的.r3541代表是版本号)
并且在更新完的时候在该文件的同目录下会产生三个文件:R.java.mine,R.java.r3368,R.java.r3439
R.java.mine是你自己修改后准备提交的那个版本;
R.java.r3368是你们的初始版本;
R.java.r3439是别人赶在你之前提交的那个版本;
此时呢,就可以再次手动合并冲突地方的内容了;