系统环境:
uname -a
cat /proc/version
lsb_release -a
CentOS release 6.4
检查已安装版本
# rpm -qa subversion
卸载旧版本SVN
# yum remove subversion
安装svn
# yum install subversion // yum方式安装SVN
# mkdir -p /opt/svn/repos // 创建SVN库
# svnadmin create /opt/svn/repos // SVN库文件分别是conf, db,format,hooks, locks, README.txt。
# 杀死svn进程
pkill -9 svn
# 用3690端口启动svn
/usr/bin/svnserve -d --listen-port 3690 -r /opt/svn --log-file=/opt/svn/svn.log --pid-file=/opt/svn/svn.pid
配置:
上面的操作很简单,几个命令就搞定, 下面的操作也不难。
进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf
其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, > svnserve是设置svn相关的操作。
# 配置用户名和密码
# vim /opt/svn/repos/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
xzdesk = woshishui # 用户名 = 密码
# 配置权限authz
# vim /opt/svn/repos/conf/authz
[/]
xzdesk = rw # 表示xzdesk用户对所有的目录有读写权限,当然也可以限定。
# 设定svnserv.conf
# vim /opt/svn/repos/conf/svnserv.conf
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password # 用户密码文件
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
# 配置防火墙端口( 或直接关闭防护墙)
# vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
#service iptables restart
# centos7 重启防火墙
systemctl restart iptables.service
查看SVN进程和端口
# ps -ef|grep svnserve // 查看进程
# netstat -ln |grep 3690 // 查看端口
常用命令
# 导入版本库
svn import /myobj svn://127.0.0.1/myobj -m "说明信息"
# 显示项目列表
svn list svn://127.0.0.1/myobj
# 常用SVN命令
剪出版本库中的可用的工作目录
svn co svn://127.0.0.1/myobj
添加文件到版本库
svn add *.php
删除文件( delete rm remove)
svn del Test.java
更新SVN版本库
svn up *.php
提交到版本库
svn ci -m “commit dir and file” test
移动或者重命名SVN工作目录
svn move Test.java Test2.java
打印SVN工作目录和文件状态
svn status -v *(可以使用通配符)
连接测试
启动svn:
# svnserve -d -r /opt/svn/repos
如果已经有svn在运行,可以换一个端口运行
# svnserve -d -r /opt/svn/repos --listen-port 3391
这样同一台服务器可以运行多个svnserver
好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://127.0.0.1:3391/ (如果指定端口需要添加端口 :端口号)
连接后可以上传本地的文件,有效的管理你的代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。