SVN服务器架构安装见附件!
安装完svn+apache,并配置启动以后,需要做如下的基本设置:
一、将svn的安装目录加入到path,以便直接使用svn命令
export path=/usr/local/svn/bin
二、svn创建新的版本库:
svnadmin create /svn/project/www #创建仓库"www"
三、添加用户
htpasswd -c /svn/passwd user1(第一次创建用户要加-c,第二次不用加)
四、权限分配
#vi /svn/auth.conf(编辑配置权限配置文件,首先要进入这个目录下,利用cd命令)
[groups] /*这个表示群组设置
Admin=usr1,user2 /*这个表示admin群组里的成员 user1,user2
Develop=u1, u2 /*这个表示Develop群组里的成员 u1,u2
[www:/] /*这表示,仓库www的根目录下的访问权限
user1 = rw /*www仓库user1用户具有读和写权限
user2 = r /* www仓库userl用户具只有读权限
@develop=rw /*这表示 群 develop的成员都具有读写权限
[/] /*这个表示在所有仓库的根目录下
* = r /*这个表示对所有的用户都具有读权限
注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: 'user1' "
五、重启apache和svn服务
/usr/local/apache/bin/apachectl –k restart #重启apache
#/usr/local/svn/bin/svn -d -r /svn/project #重启svn
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project 指定根目录是/svn/project
#ps –ef|grep svnserve #查看启动状态
六、常用命令
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.phpsvn 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.phpsvn 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 helpsvn help ci
13、版本库下的文件和目录列表
svn list path 显示path目录下的所有属于版本库的文件和目录简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。用法: 1、mkdir PATH... 2、mkdir URL...创建版本控制的目录。1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增 调度,以待下一次的提交。2、每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:用法: revert PATH...注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH] 2、switch --relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的 方法。2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。用法: resolved PATH...注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的 相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
19、导入工作副本
svn import是把未版本化的文件树复制到资料库的快速办法,它需要创建一个临时目录
假设源码的根目录是~/new_project,进入~目录,把源码导入到trunk中:
svn import new_project svn://localhost/new_project/trunk -m 'initial again'
20、复制和移动
svn copy source dest -m ""
svn move source dest -m ""
分享到:
相关推荐
在Ubuntu操作系统下安装SVN服务器是一个较为直接的过程,虽然本指南针对的是Ubuntu 9.10版本,但其基本步骤对于大多数Ubuntu及其衍生版本都是适用的。SVN,即Subversion,是一种版本控制系统,广泛用于代码的版本...
在Ubuntu 16.04 LTS环境下搭建Subversion(SVN)服务器的完整步骤如下: 1. 安装SVN 首先,需要使用APT包管理器安装SVN服务。打开终端,输入以下命令: ``` sudo apt-get install subversion ``` 2. 安装Apache2 ...
在Ubuntu 18 LTS环境中,搭建一个简单apache2+subversion的版本控制。
### Ubuntu下配置SVN服务器详解 #### 一、前言 在开源软件开发及团队协作过程中,版本控制系统扮演着至关重要的角色。Subversion (SVN) 是一款非常流行且功能强大的集中式版本控制系统,适用于各种规模的项目。...
为此,本教程将详细介绍如何在Ubuntu环境下安装界面化的SVN客户端——RabbitVCS,使其能够访问Windows服务器上的SVN仓库。RabbitVCS是一款轻量级且易于使用的SVN和Git客户端,它集成了Nautilus文件管理器,为用户...
本资源总结了 Linux 系统下 SVN 服务器操作命令的详细信息,涵盖了初学者可以使用的 Ubuntu 系统下的基本命令,希望对大家有帮助。 一、基本命令 1. 将文件 checkout 到本地目录:svn checkout path(path 是...
### Ubuntu 下 SVN 服务器安装与配置详解 #### 一、SVN 安装与基本配置 在 Ubuntu 系统上安装并配置 Subversion (SVN) 服务器是一种常见的需求,尤其是对于那些希望在本地网络环境中进行版本控制的团队来说。下面...
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
### Ubuntu上搭建SVN服务器全攻略 #### 1....#### 附录C:Ubuntu下配置SSH服务 - **服务安装**:介绍如何在Ubuntu服务器上安装SSH服务。 - **配置指南**:提供SSH服务的基本配置指南,包括端口设置等。
在Ubuntu系统中安装Subversion(SVN)是一个相对简单的过程,尤其对于熟悉Linux命令行的用户来说。Subversion是一款开源的版本控制系统,用于管理代码、文档等文件的变更历史,对于团队协作开发至关重要。以下是一份...
Windows环境下安装SVN服务器的知识点主要包括以下几个方面: ...根据本文档提供的信息,操作人员可以完成Windows环境下SVN服务器的安装和配置,进一步学习和掌握SVN的基本使用技巧,从而有效地进行版本控制管理。
本文将围绕“ubuntu下可视化SVN安装”这一主题,深入解析其重要性和具体步骤,帮助读者更好地理解和操作。 ### 重要性 SVN作为一种流行的版本控制系统,被广泛应用于软件开发过程中,用于代码管理、版本追踪和协同...
Apache2+Svn 在 Ubuntu 下的详细配置 在本文中,我们将详细介绍如何在 Ubuntu 系统下配置 Apache2+Svn,以便实现版本控制和协作开发。本文将涵盖从安装 Apache2 和 Svn 服务器到配置 Svn 仓库的所有步骤。 安装 ...
centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...
在本文中,我们将详细探讨如何在Ubuntu 12.04系统上配置SVN(Subversion)服务器。Subversion是一个开源的版本控制系统,用于管理软件项目的源代码,允许团队成员协作开发,同时保持代码历史记录。下面是配置SVN...
在Ubuntu系统中搭建SVN(Subversion)服务器是一项常见的任务,尤其对于软件开发团队来说,SVN是一个必备的版本控制系统,用于管理代码库。本文将详细介绍如何在Ubuntu上配置和运行一个SVN服务器。 首先,我们需要...
5. **启动SVN服务器**:根据你的服务器配置,可以通过服务管理工具(如Windows的服务管理器)启动SVN服务,或者在命令行中执行相应的启动命令。 6. **客户端配置**:开发人员需要安装SVN客户端,如TortoiseSVN,与...