svn 是用来做版本控制的,作用同git一样
-
svn 在windows 下面有图形界面客户端,名叫 tortoisesvn,只包含客户端
-
在centos 下面没有图形界面客户端,存在命令行界面, subversion,包含客户端与服务器
-
本系列只要讲述centos 下如何用 subversion 进行版本管理
-
环境搭建(建立一个简单的svn学习环境)
1----------------------------------------软件安装及版本查看
[root@pc ~]# yum install subversion -y
[root@pc ~]# svnserve --version
svnserve,版本 1.6.11 (r934486)
2----------------------------------------仓库创建及仓库查看
[root@pc ~]# mkdir -p /opt/svn/repo
[root@pc ~]# svnadmin create /opt/svn/repo
[root@pc ~]# ll !$
ll /opt/svn/repo
总用量 24
drwxr-xr-x. 2 root root 4096 3月 15 22:27 conf
drwxr-sr-x. 6 root root 4096 3月 15 22:27 db
-r--r--r--. 1 root root 2 3月 15 22:27 format
drwxr-xr-x. 2 root root 4096 3月 15 22:27 hooks
drwxr-xr-x. 2 root root 4096 3月 15 22:27 locks
-rw-r--r--. 1 root root 229 3月 15 22:27 README.txt
3----------------------------------------修改仓库配置文件
sed -i "s/^# anon-access = read/anon-access = write/g" /opt/svn/repo/conf/svnserve.conf
4----------------------------------------启动svn服务(如果通过file协议拉取代码,可不选
如果通过svn协议拉取代码,必须选),并查询服务状态
[root@pc conf]# svnserve -d -r /opt/svn/repo
[root@pc conf]# netstat -tunlp |grep svnserve
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1439/svnserve
5----------------------------------------新建空项目
mkdir /opt/svn/repo/svn_project1
svn import /opt/svn/repo/svn_project1 file:///opt/svn/repo/svn_project1 -m "初始化SVN目录"
rm /opt/svn/repo/svn_project1 -rf
6.1----------------------------------------通过file协议拉取项目
mkdir /root/learn_svn/file_protocol -p
cd /root/learn_svn/file_protocol
[root@pc file_protocol]# svn co file:///opt/svn/repo/svn_project1
取出版本 1。
[root@pc file_protocol]# ls
svn_project1
6.2----------------------------------------通过svn协议拉取项目
mkdir /root/learn_svn/svn_protocol -p
cd /root/learn_svn/svn_protocol
[root@pc svn_protocol]# svn co svn://127.0.0.1/svn_project1
取出版本 1。
[root@pc svn_protocol]# ls
svn_project1
7 ----------------------------------------在 /root/learn_svn/svn_protocol/svn_project1 下 进行第一次提交
[root@pc svn_project1]# echo `date` > file ;cat file
2020年 03月 15日 星期日 22:48:48 CST
[root@pc svn_project1]# svn add file
A file
[root@pc svn_project1]# svn commit -m "update date"
增加 file
传输文件数据.
提交后的版本为 2。
[root@pc svn_project1]# svn update
版本 2。
8 ----------------------------------------在 /root/learn_svn/file_protocol/svn_project1 下 拉取第7步的提交
[root@pc svn_project1]# ls
[root@pc svn_project1]# svn update
A file
更新到版本 2。
[root@pc svn_project1]# ls
file
[root@pc svn_project1]# cat file
2020年 03月 15日 星期日 22:48:48 CST
其他
其他途径
man svn
info svn
- subversion 包中的bin文件
[root@pc svn_project1]# rpm -ql subversion |grep -w "bin"
/usr/bin/svn
/usr/bin/svnadmin
/usr/bin/svndumpfilter
/usr/bin/svnlook
/usr/bin/svnserve
/usr/bin/svnsync
/usr/bin/svnversion
- subversion 依赖关系