大坑,首先检查下linux防火墙(service firewalld stop)

安装

yum -y install subversion

svnserve --version

显示版本信息,则表示安装成功

mkdir /home/svn

创建版本库目录

svnadmin create /home/svn/pro

pro目录下生成了几个文件,其中conf文件便是配置文件

cd conf

vim passwd 以 user = passwd 的形式编辑用户名和密码

[users]
zhangsan = mima1 
lisi= mima2

vim authz

[/]
* = rw (所有用户都可读可写)

[groups] 分组

admin = zhangsan,lisi,wangwu

common = lisi,wang

[/]

@admin = rw

@common = rw

 

 

 

 

 

vim svnserve.conf

[general]

anon-access = none
auth-access = write

password-db = passwd

authz-db = authz

钩子 hooks (可以将svn版本库中的内容同步更新到指定目录)

在 /home/svn/pro/hooks下

新建post-commit 文件

 

#!/bin/sh
export LC_CTYPE="zh_CN.UTF-8"
SVN=/usr/bin/svn
TODIR=/home/www #要强制更新的目录
$SVN update --username name --password passwd $TODIR #执行更新;(切记两个横杆)

chmod a+x post-commit

向svn版本库中导入文件(以导入/home/file/下的文件为例)

svn -m '日志名称' import /home/file/项目名称 file:///home/svn/pro #-m '日志名称' 加上这个拉代码时会显示日志

启动svn服务

svnserve -d -r /home/svn

检出svn库中的内容

mkdir /root/svntest

cd /root/svntest

svn co svn://127.0.0.1/pro

目录下便生成了一个 pro 目录。里面的内容是 版本库中的内容

执行 ll -a 可以看见 .svn 这边是svn的记录

新增几个文件 touch 1.txt

为版本库中提交内容

svn add * (一定要在 pro目录下哦,因为要有 .svn呀)

svn commit -m 'add file'

删除版本库中的文件

svn delete svn://127.0.0.1/pro/er.txt -m 'del'

 

取消文件的修改

svn revert 回滚

提交冲突时候解决冲突

svn update

svn resolved 现文件最新

svn log 查看提交历史

svn log -v dirname 查看目录的修改信息

svn info 获取当前版本库的基本信息

svn diff 用来显示特定修改的行级 详细信息

svn diff -r 5 1.txt 比较当前 1.txt 与版本5的1.txt的不同。

svn list svn://127.0.0.1/sssmtest 列出版本库中的文件

svn merge -r 22:21 filename 将文件从版本22回退到21

posted on 2019-08-15 09:51  文浩SIr  阅读(265)  评论(0编辑  收藏  举报