其他分享
首页 > 其他分享> > SVN学习

SVN学习

作者:互联网

SVN学习

SVN是Subversion的简称,他是开源的版本控制工具,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

与git的主要区别:

SVN安装

Ubuntu安装命令

apt-get install subversion

CentOS安装命令

yum install subversion

SVN server安装(可以不装)

1.软件安装,基于Apache搭建SVN Server

安装apache服务

yum install httpd

​ 安装svn服务和httpd模块

yum install subversion mod_dav_svn

2.创建目录并配置

建立版本库目录

mkdir -p /data/svn/repo

配置 /p>

svnadmin create  /data/svn/repo

执行上面的命令后,自动建立repo测试库,查看/data/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

3.用户密码passwd配置

[root@localhost password]# cd /data/svn/repos/conf
[root@admin conf]# vim passwd

修改passwd为以下内容:

[users]
# harry = harryssecret
# sally = sallyssecret
hello=123

用户名=密码

这样我们就建立了hello用户, 123密码

以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

4.权限控制authz配置

[root@admin conf]# vi  authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

#设置[/]代表根目录下所有的资源   或者写成[repl:/]
[/]
hello = rw

意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写吧。

以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

5.服务svnserve.conf配置

[root@admin conf]# vim svnserve.conf

追加以下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/data/svn/repositories

以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

6.启动svn服务

查看svn的服务是否启动

ps -ef|grep svn

如果没有启动执行 下面命令即可:

svnserve -d -r /data/svn/repo  --listen-port=3690 

7.开启端口

 /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 /etc/init.d/iptables restart
 /etc/init.d/iptables status

8.访问

svn://ip地址

端口默认为3690,输入配置好的用户名和密码即可。

注意:此处千万不能 svn://ip地址/repo,否则无法访问。

SVN常用命令

1、帮助命令: help(h)

svn help  或者  svn h

2、往版本库中添加新文件:add

svn add xxx.txt

3、将改变的文件提交到版本库:commit(ci)

svn commit -m "LogMessage" xxx.txt  或者 svn ci -m "LogMessage" xxx.txt

4、检出文件到本地:checkout

svn checkout path(项目库的路径)  或者  svn co path

5、更新版本:update(up)

svn update -r m path  或者  svn up  或者  svn up -r 200(版本号) 123.txt(文件名)

6、查看日志:log

svn log xxx.txt

7、查看文件详细信息:info

svn info xxx.txt

8、比较差异:diff(di)

svn diff -r m:n xxx.txt 或者 svn di -r m:n xxx.txt

9、删除文件:delete(del,remove,rm)

svn delete path -m "DeleteMessage"  或者 svn del/remove/rm path -m "DeleteMessage

10、对文件加锁:lock

svn lock -m "LockMessage" xxx.txt #对长时间需要频繁修改的文件使用

11、对文件解锁:unlock

svn unlock xxx.txt

12、移动文件或者文件更名:move(mv,rename,ren)

svn move -m "MoveMessage" xxx.txt 或者 svn mv/rename/ren -m "MoveMessage" xxx.txt

13、列出属于版本库下的文件和目录:list(ls)

svn list path 或者 svn ls

14、查看文件状态 status(st、stat)

svn status xxx.txt 或者 svn st xxx.txt

​ A: 新增,当创建新文件后,执行svn add xxx后显示为A, 否则显示为 ?
​ C: 冲突,本地修改后与仓库中的有冲突
​ D: 删除,执行svn del xxx后显示为D
​ M: 本地已变更
​ ?: 未纳入版本控制,即仓库中没有此文件或目录
​ !: 遗失,未执行svn del, 直接将文件或目录在文件系统中删除
K: 锁定,执行操作断网或强行中止等情况下会出现,或svn lock命令后出现
​ I: 忽略 R: 替换 X:未纳入版本控制的目录,被外部引用的目录所创建

15、回滚revert

svn revert xxx

标签:SVN,svn,文件,xxx,学习,123,txt
来源: https://www.cnblogs.com/chase-h/p/16454287.html