Linux中SVN服务器安装与使用以及windows客户端的使用(CentOS-6.5)

1 SVN简介

svn是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。

svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

2 SVN下载

Svn客户端与服务器端的下载地址:http://tortoisesvn.net/

3 SVN服务器的安装

3.1 Linux环境安装与配置

1)安装

# yum install -y subversion

2) 验证安装版本

# svnserve --version

3) 创建SVN 版本库, project1为版本库名称

# mkdir /data0/svn

# svnadmin create /data0/svn/project1

4)添加用户,格式为:用户名 = 密码

# vi /data0/svn/project1/conf/passwd

[users]

CleverCode = 123456

test1 = 123456

test2 = 123456

5)添加访问权限,CleverCode用户添加到admin组,能对/data0/svn/project1整个目录有读写权限;test1,test2用户添加到test组,只能对/data0/svn/project1/test目录有读写权限

# vi /data0/svn/project1/conf/authz

[groups]

admin = CleverCode

test = test1,test2

[project1:/]

@admin = rw

[project1:/test]

@test = rw

7) 配置svnserve.conf,这个文件开头每行开头不能有空格。

配置说明:

anon-access: 控制非鉴权用户访问版本库的权限。

auth-access:  控制鉴权用户访问版本库的权限。

password-db: 指定用户名口令文件名。

authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

# vi /data0/svn/project1/conf/svnserve.conf

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access = none

#认证用户的权限,可以是read,write,none,默认为write

auth-access = write

password-db = /data0/svn/project1/conf/passwd

authz-db = /data0/svn/project1/conf/authz

8)配置防火墙,svn 是3690端口

# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

# service iptables restart

9) 启动SVN, -d表示后台运行,-r 指定根目录是 /data0/svn

# svnserve -d -r /data0/svn

10)查看SVN

# ps -ef | grep svn

3.2 Windows环境安装与配置

下载windows服务器端后,按照提示,下一步在下一步即可,windows的相对比较简单,所以不再详细说明。

4 SVN客户端的使用

4.1 Linux环境使用

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:被锁定】M状态一般比较多

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

4.2 Windows环境使用

1) 通过官网下载svn的windows客户端,按照后。

2) 建立project1文件件,选中文件件点击右键,选择 【SVN checkout】。

3)然后如下图使用。

4)输入用户与密码。CleverCode:123456。

5 创建本地仓库

创建本地仓库是为了解决没有svn服务器。直接在windows本地使用,适用于单个人在本机开发提交代码。不适用团队开发。

1)创建本地仓库:选中某个文件夹(例如code),=》【TortoiseSVN】=》【create repository here】。

2)查看本地仓库地址:选中code目录,=》【TortoiseSVN】=》【repo-browse】。本机地址为:file:///E:/a/code。

3)check out仓库数据:选中另外一个目录(mycode),=》【SVN checkout】,在地址中输入file:///E:/a/code即可。

时间: 2024-10-11 00:17:34

Linux中SVN服务器安装与使用以及windows客户端的使用(CentOS-6.5)的相关文章

Linux下SVN服务器安装配置及客户端安装说明

原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_zf7k6J6EHSszq4ZU_Tyn0JimTKV8SzI9Ac4veaxCG3im Linux 下 SVN 服务器安装配置 第一章 安装 1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.1.tar.gz ( subversion 源文件) subversion-de

Linux中SVN的备份与恢复

linux中SVN备份有三种方式 1.svnadmin dump 是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供版本恢复机制. 缺点是版本数过大,增长到数万以上,那么dump与load过程都将非常慢,耗时长不利于快速进行灾难恢复.在版本数较小的情况下可以使用这种备份方式. 2.svnadmin hotcopy 只能进行全量拷贝,不能进行增量备份.优点是备份较快,恢复也快.缺点是比较耗费硬盘. 3.svnsync实际是制作2个镜像库,当一个坏了的时候可以迅速切换到另一个.

阿里云中linux 下svn服务器安装

摘要: 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 svn --help可以查看svn的使用方法,如下图. 3.创建svn版本库目录 mkdir -p /var/ 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件.

Linux中SVN定时备份总结

Linux中SVNserver定时备份总结: 本片文章主要是结合前面关于<Linux搭建SVNserver总结>,来说明怎样在Linux下定时备份SVNserver,防止个别情况导致数据丢失的严重后果. 那么实现的流程大致为:我们须要新建一个备份sh脚本,然后使用contab定时运行前面的脚本.以及模拟验证下是否成功,所以还是比較简单的. PS: 至于contab的具体介绍会在兴许总结中列出.在此仅仅需按此操作就可以. <Linux搭建SVNserver总结>地址: http://

linux下svn服务器安装配置与启动

1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.1.tar.gz  (subversion 源文件) subversion-deps-1.6.1.tar.gz  (subversion依赖文件) 注意文件版本必须一致,否则很容易产生各种奇怪的问题. 2. 上传以上两个文件到服务器上,解压.解压命令为:          tar xfvz subversion-1.6.1.tar.gz tar xfvz subversion-deps-1.6.1.tar.gz 3. 解

在linux中以cifs的方式挂载windows共享文件夹

假设winddows机器IP为1.1.1.1 ,已将d:\source目录共享,共享名为src.此系统中有用户user1. linux系统下的用户user2希望将其挂载到 /home/user2/src2目录中. 那么执行下面命令即可. sudo mount -t cifs -ouser=user1,nolock,nounix,noserverinfo,noserverino //1.1.1.1/src /home/user2/src2 为了自动得到window机器的ip,如下即可(SUSE上测

【转载】Linux中Samba详细安装(实现windows和linux的文件共享)

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便.本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置. 1.服务查询 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉.使用命令 rpm -qa | gre

Linux中svn的使用

1. 安装Linux 执行如下命令,中间会出现一次提示,选y即可 yum install subversion 2. 创建资源库位置 svnadmin create /usr/java/testJenk 3. 配置资源库 进入conf文件夹进行配置 authz #权限配置文件 passwd #用户名密码文件 svnserve.conf #资源库配置文件 3.1 vim svnserve.conf 需要把下面的几个命令打开,直接去掉前面的#号和空格就好了 # anon-access = read

Linux 中 SVN 重启关闭

a.启动SVN  svnserve -d -r /A/B/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /A/B/svn/ 为svn的安装目录 b.关闭SVN 这里采取linux杀死进程的方式处理的 ps -ef|grep svnserve root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/ 这里 kill -9 4967杀死进程, 此4967为进程号