svn配置使用

SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。

SVN中的一些概念 : 
a. repository(源代码库) 
   源代码统一存放的地方。 
b. Checkout (提取) 
   当你手上没有源代码的时候,你需要从repository checkout一份。 
c. Commit (提交) 
   当你已经修改了代码,你就需要Commit到repository。 
d. Update (更新) 
    当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更。

Centos 搭建SVN服务,有效的管理代码,以下三步可以快速搞定。

1、安装  

[[email protected] ~]# yum install subversion 

[[email protected] ~]# svn -v   判断是否安装成功 
  svnserve, version 1.6.11 (r934486) 出现类型提示,说明安装成功。 

有了SVN软件后还需要建立SVN库。 
[[email protected] ~]# mkdir /opt/svn/repos 
[[email protected] ~]# svnadmin create /opt/svn/repos 
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。 

2、配置

上面的操作很简单,几个命令就搞定, 下面的操作也不难。

进入上面生成的文件夹conf下,进行配置,   有以下几个文件authz, passwd, svnserve.conf

其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。


 2 .1先设置passwd 
  [[email protected] ~]# vi passwd 
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码

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

   2.2 再设置权限authz 
[[email protected] ~]# vi authz 

[/]
hello= rw

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

2.3最后设定snvserv.conf 
[[email protected] ~]# vi snsvserv.conf 

anon-access = none # 使非授权用户无法访问 
auth-access = write # 使授权用户有写权限 
password-db = password
#authz-db = authz   # 访问控制文件 
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

好了,通过以上配置,你的svn就可以了。

3、连接


[[email protected] ~]# svnserve -d -r /opt/svn/repos 启动svn:

如果已经有svn在运行,可以换一个端口运行 
[[email protected] ~]# svnserve -d -r /opt/svn/repos --listen-port 3391

这样同一台服务器可以运行多个svnserver

好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口  :端口号)

连接后可以上传本地的文件,有效的管理你的代码。 

svn 命令详解

1、将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

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

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“ test.php

简写:svn ci

4、加锁/解锁

svn lock -m “LockMessage“ [--force] PATH

例如:svn lock -m “lock test file“ test.php

svn unlock PATH

5、更新到某个版本

svn update -r m path

例如:

svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)

svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

简写:svn up

6、查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

2)svn status -v path(显示文件和子目录状态)

第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

7、删除文件

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种

简写:svn (del, remove, rm)

8、查看日志

svn log path

例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

svn info path

例如:svn info test.php

10、比较差异

svn diff path(将修改的文件与基础版本比较)

例如:svn diff test.php

svn diff -r m:n path(对版本m和版本n比较差异)

例如:svn diff -r 200:201 test.php

简写:svn di

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助

svn help

svn help ci

13、版本库下的文件和目录列表

svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svn ls

时间: 2024-11-09 07:17:12

svn配置使用的相关文章

CentOS 6.5 Apache+SVN配置

yum -y install subversion #安装SVN  svnserve -- version #查看svn版本信息确定是否安装 yum -y install httpd #安装Apache  yum -y install mod_dav_svn #安装Apache的SVN支持 mkdir -p /var/www/svn #创建SVN目录  svnadmin create /var/www/svn/repos #创建repos版本库  htpasswd -c /etc/httpd/c

SVN配置以及自动部署到apache虚拟目录

SVN配置以及自动部署到apache虚拟目录 一.VisualSVN server 服务端和TortoiseSVN客户端下载 VisualSVN下载:http://subversion.apache.org/packages.html 页面最下方就可以找到(下图紫色链接) TortoiseSVN下载:http://tortoisesvn.net/downloads.html 下载的地方很醒目,有32位和64位 紧接着下边有语言包下载 二.VisualSVN server和TortoiseSVN安

apache+svn配置过程

svn安装指南 建议:源码安装 环境:Centos6.2_X64+apache2.2.22+subversion1.6.9 历史:1.已经安装过一次,浏览器和SVN客户端可以正常使用:但在eclipse下载时报错. 2.安装时碰到zlib问题,系统显示已经安装,但是subversion在编译时无法识别.另外源码安装后编译通过 subversion for linux的安装(SVN+apache+linux) 准备的软件包如下: httpd-2.2.22tar.gz subversion-1.4.

SVN配置–服务器端(linux)

SVN配置–服务器端(linux) 本教程配置说明 目的: 实现代码统一管理   1. 下载所需的源码包 subversion-deps-1.6.17.tar.gz svn 的支持库之类的文件 wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz 1 1 subversion-1.6.17.tar.gz svn 的主程序 wget http://subversion.tigris.org/downloa

MAC svn 配置及cornerstone

SVN 配置 1.创建SVN Repositroy 打开终端 输入:svnadmin create /path/svn/pro svn是目录,pros是版本库,输入完成即可看见生成文档 2.配置svn用户权限. /path/svn/pro/conf/目录下存在3个文件:authz,passwd,svnserve.conf (1).配置svnserve.conf 将里面的 #anon-access = read#auth-access = write#password-db = passwd#au

nginx下修改svn配置

最近公司的SVN服务器地址做了变更,而我用的操作系统是Ubuntu操作系统,我也不想把以前下载的代码重新进行修改,我想通过修改svn地址,应该可以,终于在网上通过查找资料,找到了解决的方法: 进行你所工作的svn映射到本地的目录中.在终端下运行$svn switch --relocate http://oldPath http://newpath.系统提示输入用户名,密码.重新输入后,即可完成svn地址的变化. nginx下修改svn配置

Eclipse插件SVN配置

Eclipse插件SVN配置 方法一 打开Eclipse点击[Help]-[Install New Software] 点击右边[Add]-在弹出窗口中输入 Name:svn Location:http://subclipse.tigris.org/update_1.6.x 点击[OK] 方法二 打开Eclipse点击[Help]-[Eclipse Maketplace] 在弹出窗口中[find]输入svn 点击[Go] Subclipse右下角点击[Insert]进行安装 方法三 首先下载插件

右键删除svn配置

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="删除SVN信息" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 &&a

svn配置多仓库与权限控制

telnet: connect to address 47.106.115.228: Connection refused svn执行上下文错误由于目标计算机积极拒绝无法连接 标签: svn 2017年07月05日 19:55:308735人阅读 评论(0) 收藏 举报  分类: SVN 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_23703157/article/details/74495284 目录(?)[+] svn执行上下文错误

linux下svn配置之svnserve

一.配置 建立版本库目录mkdir -p /opt/svn cd /svn安装目录/bin ./svnserve -d -r /opt/svn 二.建立版本库 创建一个新的Subversion项目svnadmin create /opt/svn/project1 三.访问权限设置 配置允许用户 test1 访问cd /opt/svn/project1/conf vi svnserve.confanon-access=noneauth-access=writepassword-db=passwd