[TOC]
1、 安装
1 | yum install subversion |
创建仓库1
2
3mkdir /home/svnrepo #创建仓库目录
svnadmin create /home/svnrepo #指定为代码仓库
cd /home/svnrepo #进入目录
有如下内容:
后续操作的配置文件均在conf
目录下。
2、 配置
进入conf目录,查看文件,分别作用如下1
2
3authz # 权限配置文件
passwd #账号密码配置文件
svnserve.conf #服务配置文件
2.1 配置用户
1 | vim passwd |
在[users]
下面添加用户,添加格式为 username = password
2.2 配置用户组和权限
1 | vim authz |
[groups]
:为用户分组,根据项目,部门可以进行分组,配置格式如下
groupname = username,username
[仓库路径]
: 为仓库路径配置权限,如/
是根路径,/project1
是项目1;如若细分可以继续分为项目的某个文件或文件夹。权限如下:
r : 只读
rw:读写
空:不可读不可写
指定用户规则如下:
username:指定某个用户
@groupname : 指定用户组
*:其他用户
2.3 配置svn
1 | vim svnserve.conf |
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #用户账号文件名
authz-db = authz #权限配置文件名
realm = /home/svnrepo # 仓库所在目录
3、启动停止
1 | svnserve -d -r /home/svnrepo #启动 |
4、客户端连接
客户端使用小乌龟TortoiseSVN连接,连接地址是:svn://ip地址
这里使用admin登陆,因为现在连接的仓库路径默认是/
,而配置里面对/
的配置权限最大的是admin
5、导入项目
5.1、导入目录项目
- 进入项目所在的目录
设置忽略文件,比如Maven生成的target目录不需要上传、本地开发环境的配置。
鼠标右键“TortoiseSVN”– >“Settings”
找到General中的”Global ignore pattern”
添加:target *.settings .classpath .project继续
右键
–》TortoiseSVN
–》Import
导入项目到仓库- 确认项目添加的仓库
- 然后可以在svn管理中,看到刚刚上传的代码
添加版本管理
如果需要继续管理代码版本,则把之前仓库的代码在checkout
到当前目录,把原来没有版本控制的文件覆盖掉。
后续有代码变动,只需右键commit
即可
5.2、导入IDEA项目
如果是正在开发中的项目,或者是需要一边开发一边提交的情况,可以直接在IDEA添加版本控制。每当代码完成之后便可以提交到仓库中。(多人协同开发记得update再commit,不然会冲突;或者把别人的代码覆盖。
- 将项目分享到SVN
- 添加刚刚的仓库地址
- 查看这个版本控制选项卡
- 需要提交的代码勾选即可
- 这里是使用IDEA提交的代码
6、总结
svn如何配置
使用
svnadmin create
指定仓库路径之后会自动生成一些文件,其中配置文件在conf
下。主要有如下配置:- 用户配置:passwd文件
- 权限配置:authz文件
- 服务配置:svnserve.conf文件
如何将本地项目添加svn管理
- 文件目录中的代码,先import再checkout
- idea在VCS中share 到 svn
svn作为一个协同开发管理工具,还有很多需要学习的地方,包括版本号管理,发生冲突如何解决,如何进行分支开发等等。