1、新建版本库
在安装了svn的前提下,开始创建版本库。版本库放在linux系统下/var/svn下面,项目的名字为svntest
touch创建纯文件
mkdir /var/svn/svntest
cd /var/svn/svntest
svnadmin create /var/svn/svntest
2、创建用户
conf为配置文件,在配置文件下创建用户(设定行顶格写,左边为用户,右边为密码)
用命令写入时,按i/w/a键编辑,编辑之后按ESC退出,但还没保存,此时输入冒号进入地行模式,此时输入wq! 保存退出。
3、创建用户组
创建了phpf组,并将刚才设置的用户admin加入到phpf组中
4、设置配置文件
该设置文件主要是指定是否许可匿名访问,以及用户、用户组权限等配置文件的路径等信息。
此时,SVN版本库已经创建完毕。
启动SVN服务 svnserve -d -r /var/svn/svntest0
若出现,地址已经在使用的问题,先关闭SVN服务。关闭服务 killall svnserve,关闭之后再启动SVN服务。
问题:
一、如何check版本库
将文件checkout到本地svn checkout path(path是服务器的目录,例如/var/svn/svntest0)
svn co svn:url 版本 (在根目录下时,直接使用svn co svn://localhost)
例如: svn co svn://192.168.214.128 6
二、如何更新、提交、删除版本库文件
将文件加入版本控制:svn add path(例如test.txt)
更新:svn update -r 版本号 path
svn update 更新当前目录以及子目录下的所有文件到最新版本
svn update -r 200 test.php 将版本库中的test.还原到版本200
简写 svn up
提交:svn add 文件名(svn add test.php)
删除:svn delete path -m "注释"(例:svn delete svn://localhost/aaa/test.php -m "delete test file")
或者直接svn delete test.php 然后再svn ci -m 'delete test file‘,推荐使用这种
简写: svn (del、remove、rm)
三、如何查看svn版本库信息
svn info path(path是服务器的目录。当已经在根目录下时直接使用svn info)
svn status (查看工作与文件状态)
简写:svn st(例:看test.txt文件,svn st test.txt)
四、如何查看svn文件日志
svn log path(path是服务器的目录,当在根目录下时,直接使使用svn log)
例如(查看test文件的log,svn log test.txt)
常见状态如下:
“A” 预定加入到版本库
“C” 发生冲突
“D” 被删除了
“M” 内容被修改
“?” 条目未纳入版本控制
“!” 该项目已遗失(被非svn命令删除)或不完整
“~” 版本控制下的项目与其它类型的项目重名
“G” 合并
“I” 忽略
“R” 替换
“X” 未纳入版本控制,但被外部定义所用
“?” 未纳入版本控制
“L” 锁定
“S” 已切换
“K” 存在锁定标记
五、Linux命令行下解决冲突
svn resolved path(例如:test.txt)
六、如何将文件回退到指定版本
先将最新版本checkout到本地,再用svn log查看历史修改,回滚到版本号10
svn merge -r 20:10 path(为文件或者目录,反向合并例:/var/svn)注:先查看要退回文件的版本是否存在