内容摘要
一、代码管理平台介绍
二、 安装svn
三、客户端上使用svn(linux)
四、客户端上使用svn(windows)
由于svn是基于c/s架构的,这里先安装服务端
- 使用yum安装svn
[root@aming-01 ~]# yum install -y subversion
- 建立版本仓库并初始化
[root@aming-01 ~]# mkdir -p /data/svnroot/myproject
[root@aming-01 ~]# svnadmin create /data/svnroot/myproject
- 初始化仓库后可以发现多了些配置文件
[root@aming-01 myproject]# ls
conf db format hooks locks README.txt
- 进入conf目录有三个配置文件
[root@aming-01 myproject]# cd conf/
[root@aming-01 conf]# ls
authz passwd svnserve.conf
authz
为权限配置文件 passwd
为密码文件 svnserve.conf
配置svnserve
- 编辑authz文件
admins = zhaoyujie,shenxinyu ##admins组中有zhaoyujie,shenxinyu成员
[/] ##指定当前目录用户执行权限
@admins = rw ##admins组成员有读写
* = r ## 其他人只读
[myproject:/] ##等同与[/],一般存在多个项目时这样使用
user1 = rw
- 编辑passwd文件
[root@aming-01 conf]# vim passwd
找到[users]并在其下面添加内容如下:
zhaoyujie = 38003800 ##用户 = 密码
shenxinyu = shenxinyu
- 编辑svnserve.conf文件
[root@aming-01 conf]# vim svnserve.conf
在[general]下添加如下内容:
[general]
non-access = none ##匿名用户没权限
auth-access = write ##授权用户可写
password-db = passwd ##指定用户密码文件路径
authz-db = authz ##指定权限控制文件路径
realm = /data/svnroot/myproject ##指定项目路径
- 启动svn服务
[root@aming-01 conf]# svnserve -d -r /data/svnroot
-d
后台启动 -r
指定仓库路径
- 查看是否启动
[root@aming-01 conf]# ps aux |grep svn
root 1607 0.0 0.0 180716 812 ? Ss 20:53 0:00 svnserve -d -r /data/svnroot
root 1621 0.0 0.0 112720 980 pts/0 R+ 21:00 0:00 grep --color=auto svn
[root@aming-01 conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1126/zabbix_server
- 使用yum安装svn
[root@aming-01 ~]# yum install -y subversion
- 在本地建立存放代码的目录并进入该目录中
[root@aming-01 conf]# mkdir -p /home/svntest/
[root@aming-01 conf]# cd /home/svntest/
- 下载项目到本地上
格式:svn checkout svn://IP/项目 --username=用户
[root@zhaoyujie svntest]# svn checkout svn://192.168.157.130/myproject --username=zhaoyujie
认证领域: <svn://192.168.157.130:3690> /data/svnroot/myproject
“zhaoyujie”的密码:
第一次登录后用户名和密码都会记录在/root/.subversion/auth/svn.simple
中
[root@aming-01 myproject]# cat /root/.subversion/auth/svn.simple/e06a6eb8f7acb609753cdc4eaa8cd623
K 8
passtype
V 6
simple
K 8
password
V 8
38003800
K 15
svn:realmstring
V 52
<svn://192.168.157.128:3690> /data/svnroot/myproject
K 8
username
V 9
zhaoyujie
END
- 进入本地项目添加更改数据
[root@aming-01 myproject]# cd /home/svntest/myproject/
[root@aming-01 myproject]# cp /etc/passwd ./
- 为数据添加上传标签
格式:svn add 更改的文件
[root@aming-01 myproject]# svn add ./passwd
A passwd
- 提交上传数据
格式:svn commit -m “备注内容”
[root@aming-01 myproject]# svn commit -m "add passwd"
正在增加 passwd
传输文件数据.
提交后的版本为 1。
- 更新最新版本的数据到本地
格式:svn up
或者svn update
[root@aming-01 myproject]# svn up
正在升级 '.':
U passwd
更新到版本 2。
- 删除本地数据并打标记
格式:格式:svn delete 删除的文件
[root@aming-01 myproject]# svn delete ./passwd
D passwd
- 提交删除数据
格式:svn commit -m “备注内容”
[root@aming-01 myproject]# svn commit -m "delete passwd"
正在删除 passwd
提交后的版本为 3。
- 查看版本历史
格式:svn log
root@aming-01 myproject]# svn log
------------------------------------------------------------------------
r3 | zhaoyujie | 2018-08-29 06:55:49 +0800 (三, 2018-08-29) | 1 行
delete passwd
------------------------------------------------------------------------
r2 | zhaoyujie | 2018-08-29 06:49:16 +0800 (三, 2018-08-29) | 1 行
ch passwd
------------------------------------------------------------------------
r1 | zhaoyujie | 2018-08-29 06:34:10 +0800 (三, 2018-08-29) | 1 行
add passwd
------------------------------------------------------------------------
在window下使用tortoisesvn软件,简称小乌龟 官网 https://tortoisesvn.net/index.zh.html
简明教程 http://www.jianshu.com/p/6b3b7b915332
我们在本地上创建一个目录使用右键点击目录
新建一个文件右键
—-tortoisesvn
—-add
—-svn commit
输入备注
当服务端有新数据后:右键目录
—-svn update