介绍
svn是版本管理工具,类似于github,可以管理项目的源代码。通常公司项目需要各个部门间的协同合作,由此多人集中式管理的软件很有必要。svn是客户端和服务器的模式,项目人员可以通过svn客户端从svn服务器下载代码到本地,修改后再上传。每次的提交版本都会有记录,便于回滚。
安装部署
环境:centos7
yum install -y subversion
#创建项目版本库
mkdir -p /data/svn/myproject
svnadmin create /data/svn/myproject
版本库中的配置目录 conf 有三个文件:
-
authz 是权限控制文件
-
passwd 是帐号密码文件
-
svnserve.conf 是SVN服务综合配置文件
-
/data/svn/myproject/conf/authz
添加wenxue用户读写权限
[groups]
[/]
wenxue = rw
*=r
- ./passwd
配置wenxue用户的密码为fai
[users]
# harry = harryssecret
# sally = sallyssecret
wenxue = fai
- 综合配置
./svnserve.conf
[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /data/svn/myproject
- 启动svn服务器
svnserve -d -r /data/svn
客户端本地操作
- 客户端可以checkout项目 即从服务器下载到本地
mkdir -p /test
svn co svn://127.0.0.1/myproject /test - 修改提交到服务器
touch test.txt
svn add test.txt #第一次提交新文件用add命令
第二次开始:svn commit(ci) test.txt -m "修改了标题" - 更新到最新版本
svn update 如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 - 查看 修改后的文件与源文件的区别
svn diff filename - 删除文件
svn del filename
svn ci -m "delete filename" - 显示这个文件的所有修改记录,及其版本号的变化
svn log filename -
查看文件的详细信息
svn info filename
image.png
- 对版本m和版本n比较差异
svn diff -r m:n path
例子:svn diff -r 200:201 test.php - Linux命令行下将两个版本之间的差异合并到当前文件
svn merge -r m:n path
网友评论