¶0、安装
1 | yum install subversion |
¶1. SVN的使用
¶1.1 服务端创建仓库
1 | 创建版本库目录 |
如在Windows下:
1 | 建版本库 |
¶1.2 版本仓库权限配置
(1)授权访问设置
修改具体版本库对的config/svnserve.conf
1 | anon-access = none #匿名访问权限, read表示只读,write表示读写,none表示无权访问 |
(2)配置svn用户用户名和密码
修改config/passwd
1 | [users] |
(3)配置权限文件(设置svn用户和用户组的具体访问权限)
修改config/authz
1 | [aliases] |
客户端(命令行方式)
1 | svn checkout svn://127.0.0.1 mysvn #将服务端检出(下载)到本地的mysvn目录 |
¶1.3 Eclipse使用SVN
¶(1)eclipse安装svn插件
下载subclipse的site-1.10.13-1.9.x版本,并将site-1.10.13-1.9.x.zip
将解压后放到***/eclipse/dropins
里,并重启eclipse
¶(2)提交
首先创建好一个项目
添加svn服务仓库地址
如果是svn服务器设置允许匿名访问,那么就能成功。如果不能访问,可输入配置文件中的用户名和密码后即可完成提交。
登录提交的方式可以方便看到提交文件的具体用户
提交到svn服务器
添加提交信息
¶(3)SVN资源库研究
目的:查看svn服务器的版本仓库情况以及历史版本
¶(4)检出
目的:从svn服务器导入(下载)项目
添加svn服务仓库地址
如果是svn服务器设置允许匿名访问,那么就能成功。如果不能访问,可输入配置文件中的用户名和密码后即可完成检出。
点击finish
¶(5)解决冲突
设有两个人打开了不同的eclipse,分别对同一个版本的项目的DEMO.java进行修改
(张三)第一个人:
原版本(版本为6)
1 | package demo; |
修改:
1 | package demo; |
修改好后提交(版本变为7)
(李四)第二个人:
原版本(版本为6)
1 | package demo; |
修改:
1 | package demo; |
修改好后提交
提交后发现失败,这就是所谓的提交冲突
原因:
原因是服务端仓库的版本比李四当前的版本新,李四的当前版本已经过时了。
如何解决?
需要跟新李四的冲突文件。
编辑冲突:
修改好后ctrl + s 保存
标记已解决冲突
我们发现多出来的文件不见了,并且版本也与服务端版本一致了,也就是说可以正常提交了。
李四提交完成后打开SVN资源库研究即可发现服务端仓库的版本变成了更新的版本(原本服务端版本为7,现在变成了8)
¶(6)恢复到历史某个版本
右键某个版本,然后选择获取内容当前本地就会恢复到选择的版本
恢复后再提交的话,服务端的仓库也会"恢复到历史版本",这里打双引号的原因是服务端仓库只是恢复代码,但实际版本是再更新到了更加新的版本
¶(7)提交忽略文件设置
选择Team–> Git下面的Ignoreed Resources –>Add Pattern –>一个一个的添加输入要忽略的文件
-
.classpath
-
.settings
-
.project
-
target
最后点击Apply– >OK
¶(8)避免冲突
- 开发之前先更新,完成工作之后立即提交
- 团队合作时不同人之间应该自己修改自己的文件,尽少编辑公共文件