一,SVN的介绍
1.SVN介绍
SVN全程是一个开放源码的版本控制系统,现在为Apache软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。
SVN是一个开放源代码的版本控制系统,管理随着时间改变数据。这些数据放置在一个中央资料档案库中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧版本,或是浏览文件的变动历史。简单来说就是:用于多人共同开发同一个项目,共用资源的目的。
2.主要作用
1.目录版本控制
SVN实现了一个虚拟的版本控制文件系统,能够依照时间跟踪整个目录的变动。目录与文件都能进行版本控制。
2.真实的版本历史
SVN中可以进行增,删,复制,重命名。无论文件还是目录。所有的新加的文件都从一个新的,干净的版本开始。
3.自动提交
一个提交动作,不是全部更新到了档案库中,就是完全不更新。这允许开发人员以逻辑区间建立提交变动,以防止当部分提交成功时出现的问题。
3.基本概念
Repository(源代码库)︰源代码统一存放的地方
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
Commit(提交):当你已经修改了代码,你就需要Commit到repository
Update (更新):当你已经Checkout了一份源代码,Update后就可以和Repository上的源代码同步
4.简单来说
SVN比较类似网盘/备份系统,用来保存/管理写出来的项目。在遇到问题时,可以进行类似回档的操作,进行项目修改。非常方便。SVN有服务端,取用方便一些。
二,SVN的安装
1.关闭防火墙并下载SVN
#systemctl stop firewalld.service //关闭防火墙#firewall-cmd --state //查看防火墙状态#systemctl disable firewalld.service //禁止防火墙开机自启#yum install -y subversion //下载安装SVN
出现 not running 才算是关闭防火墙

2.创建文件夹,创建SVN空间环境
#mkdir -p /data/svnroot/myproject //创建文件夹#svnadmin create /data/svnroot/myproject //可以理解为:创建SVN空间环境#cd !$ //进入上个代码输入的路径#ls //查看当前路径下的文件

3.配置SVN空间环境
#cd conf //进入conf文件夹下

#vim authz //配置authzi 进行文字插入:wq 保存退出:q! 不保存退出

#vim passwd //配置密码文件

#vim svnserve.conf //重要的配置文件#白色的文字就是你们要添加的文字(前面千万不要有空格)vim查看文件后 / + 字符 回车 可以查找关键字 例如 /auth


4.启动服务
#svnserve -d -r /data/svnroot //启动SVN服务
5.创建项目文件
#cd /opt //先进入想要存储项目的位置#svn checkout svn://192.168.148.155/myproject --username=liao#自行修改其中的部分参数

查看创建的文件:

三,SVN的使用
1.再搭建一台虚拟机,来当做工作机使用。
也就是接下来的操作,都在一台新的虚拟机上!
#yum install -y subversion //下载SVN组件#cd /opt //需要创建的路径
2.连接SVN服务
svn checkout svn://192.168.148.155/myproject —username=liao
//输入后,登录账户,自动创建myproject文件,即连接成功。

3.SVN的上传
#cp /etc/passwd /opt/myproject //复制粘贴一个文件到项目文件夹下

#svn add passwd //增加文件更新#svn commit -m "add passwd" //提交文件更新

此时就算是一次SVN项目备份上传。
4.SVN的删除
svn delete passwd //删除文件
#svn commit -m “删除了个文件?”

5.操作同步
既然增,删操作做了,进行了版本迭代。就去服务端看一看。
#svn update //更新SVN(在服务端和操作端都可使用)
我前面提交版本为 7 更新后这里版本也为7了。
D(delete) 为删除 A(add) 为添加。

6.查看log
两边都进行svn update后
#svn log //查看日志

