SVN简介:
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
名词:
repository(源代码库):源代码统一存放的地方
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
Commit(提交):当你已经修改了代码,你就需要Commit到repository
Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
SVN Sever在linux上的搭建
1. 查看系统下有没有安装过老版本的svn
rpm -qa subversion,如果没安装过则什么都不显示
如果有老版本先运行一下yum -y remove subversion,删除老版本
2. 通过yum命令安装svnserve
yum -y install subversion
3. 创建版本库目录
/svn/repo就是我的本库目录,可以上面放多个项目,因此下面创建SVN版本库的时候还是用的这个路径
mkdir -p /svn/repo
- 创建svn版本库
后面checkout项目时会用到
svnadmin create /svn/repo
执行命令后,在/svn/repo目录下会有以下目录产生:
conf:是这个仓库配置文件(仓库用户访问账户,权限)
format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
hooks:放置hook脚步文件的目录
locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
4. 修改conf配置文件设置账户和权限
/svn/repo/conf目录下配置文件修改
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
4.1 修改authz文件
在文件内容的末尾,添加如下:
rw表示赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这里如果斜杠反了,authz-db = authz 一直会提示“认证失败”
[/] # 表示svn仓库目录 /svn/repo ,如果有子目录可以写/test1 表示/svn/repo/test1目录
权限 r:读 w:写
4.2 修改passwd文件
直接将账号和密码信息追加到文件中即可,格式为:账号 = 密码
4.3 修改svnserver.conf文件
原始文件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下
5.确定防火墙对3690端口开启
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题。
我自己使用腾讯云服务器,在防火墙里需要自己添加规则开启3690端口。
我是在腾讯云的服务器上搭建的SVN服务,方便公司和自己电脑以及和家人的文档上传,腾讯云的优惠活动是2核4G,80G硬盘,一年价格74元,两年148元,优惠链接如下:
https://curl.qcloud.com/IFSPkarihttps://curl.qcloud.com/IFSPkari
6. 启动SVN服务器
svnserve -dr /svn/repo
然后ps -ef | grep svnserve 查看进程是有启动
7.设置SVN开机自启动
SVN客户端在windows下使用
1.下载SVN客户端并安装
下载地址:
我在CSDN上的链接下载:
TortoiseSVN.zip-其它文档类资源-CSDN下载
2.访问SVN服务器
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出
版本库URL地址写你的SVN服务器:
第一次登陆还需要写SVN server上设置的用户名和密码。
参考文章: