SVN全称subversion,是一个开源版本控制系统。
版本控制:记录若干文件内容变化,以便将来查阅特定版本修订情况。
一、 安装svn
(一)服务安装
yum install subversion -y
(二)创建版本库
mkdir -p /data/svnroot/myproject
svnadmin create /data/svnroot/myproject
(三)修改配置文件
(1)配置文件:`/data/svnroot/myproject/conf/authz`
在配置文件中添加:
[groups]
admins = lsk,user1 //admins组包含lsk与user1用户
[/] //指项目目录
@admins = rw //设置组权限
* = r
[myproject:/] //针对项目设置权限
user1 = rw
(2)配置文件:/data/svnroot/myproject/conf/passwd
在配置文件中添加:
lsk=lsk000
user1=user1000
user2=user2000
(3)配置文件:/data/svnroot/myproject/conf/svnserver.conf
更改或增加如下内容:
anon-access = none
auth-access = write
password-db = passwd 注意:内容必须顶格!!!
authz-db = authz
realm = /data/svnroot/myproject
(四)启动服务并拉起项目
svnserve -d -r /data/svnroot
在/opt目录下拉取项目
1.cd /opt
2.svn checkout svn://10.30.59.205/myproject --username=lsk
Authentication realm: <svn://10.30.59.205:3690> /data/svnroot/myproject
Password for 'root': //输入root的密码
Authentication realm: <svn://10.30.59.205:3690> /data/svnroot/myproject
Username: lsk //输入用户名
Password for 'lsk': lsk000 //输入该用户密码
ATTENTION! Your password for authentication realm:
<svn://10.30.59.205:3690> /data/svnroot/myproject
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes //输入yes
Sending fstab
Transmitting file data .
Checked out revision 0.
查看文件中内容
二、使用svn
注意:使用上面的一台虚拟机(以下简称1号),另外在创建一台新的虚拟机(以下简称2号)
(一)在2号中安装svn服务
yum install subversion -y
(二)1,2号均关闭防火墙和selinux
systemctl stop firewalld && setenforce 0
(三)在2号中拉取项目
cd /opt
svn checkout svn://10.30.59.205/myproject --username=lsk
同样输入密码
(四)在2号机版本库中将文件添加至版本控制中心
cd /opt/myproject
cp /etc/fstab .
svn add fstab
svn commit -m "add fstab file" //将文件上传至服务器
在1号机版本库下更新版本库查看文件
cd /opt/myproject
svn update
(五)在2号机版本库中删除添加的文件
svn delete fstab
svn commit -m "delete fstab file" //在服务器上提交删除操作
在1号机更新版本库
(六)在1号机版本库中查看变更日志