svn的搭建与管理

Svn的搭建与管理

一、svn的概述

1svn概述

Svn是一款版本管理工具,一个跨平台的开源的版本控制系统,会将数据放在一个中英资料档案库中,类似FTP工具。Svn档案库会备份修改并记录每个文件每一次的修改更新变动。

2、其他的常见的版本管理工具:vss、cvs、git

3、svn与git的区别

(1)svn集中版本控制系统:

Svn版本控制系统是集中式的数据管理,存在一个中央版本库,所有开发人员本地开发所使用的代码都是来自于这个版本库,提交代码也都必须提交中央版本库

Svn版本控制系统工作流程:

1)从中央库上创建一个或从主干复制一个分支

2)从中央库check out 下这个分支的代码

3)增加自己的代码文件,修改现存的代码或删除代码文件

4)Commit代码,有人在刚刚的分支上提交了代码,你就会被提示代码过期

缺点:

1)当无法连接到中央版本库的环境下,无法提交代码,将代码加入版本控制

2)Svn无法查看代码的历史版本以及版本的变化过程

3)Svn的备份要被封所代码数据以及所有更改的版本记录

(2)git版本控制系统

Git由Linux开发,和Linux系统结合比较紧密,在Windows上必须使用cygwin才能使其完美工作

Git中没有中央版本库,为了开发小组代码共享,需要搭建一个远程git仓库

Git在开发者本地也包含了一个完整的git仓库,本地的仓库和远程的仓库在身份上是等价的没有主从之分

4、svn服务端的运行方式

(1)独立服务器

访问地址如:svn://svn.dayi123.org/sadoc

(2)借助Apache等http服务

1)单独安装Apache+svn(不推荐使用)

2)CSVN(Apache+svn)是一个单独的整合的软件,带web界面管理的svn软件

(3)本地直接访问(如:file://application/svndata/sadoc

5、svn客户端的访问方式

(1)file://(直接通过本地磁盘或者网络磁盘访问版本库)

(2)http://(通过webdav协议访问支持subversion的Apache服务器)

(3)https://(与http://相似,但是用ssl加密访问)

(4)svn://(通过tcp/ip自定义协议访问svnserver服务器)

(5)svn+ssh://(通过认证加密的TCP/IP自定义协议访问snvserver服务器)

6、svn档案库数据格式

(1)BDB (伯克利DB):版本库可以使用的一种经过充分测试的后台数据库实现,不能通过在网络共享的文件系统上使用,伯克利是Subverion1.2版本以前的缺省版本库格式

(2)FSFS:一个专用于Subversion版本库的文件系统后端,可以使用网络文件系统。是1.2版本及其后的缺省版本格式。(FSFS虽然解决了许多问题(如并行读写共享文件)以及添加了许多功能(如运行时的事物特性),但数据存储由此变的不透明)

二、svn的安装与配置

1、安装环境:centos6.8+subversion1.6.11(yum安装)

2、安装配置svn

(1)检查svn软件程序是否已经安装

rpm –qasubversion      #检查是否已经安装

如果没有安装则需要安装:yum install subversion –y

(2)配置svn

1)建立svn版本数据库存储根目录(svndata)及用户、密码权限目录(svnpasswd),

mkdir –p/application/svndata       #数据存储根目录

mkdir –p/application/svnpasswd     #用户密码权限目录

[[email protected]~]$mkdir -p /application/svndata

[[email protected]~]$mkdir -p /application/svnpasswd

2)启动svn服务指定服务的svn根目录

svnserver –d –r/application/svndata  #启动svn并指定根目录

lsof –i :3690        #svn端口为3690,查看是否启动

[[email protected]~]$svnserve -d -r /application/svndata/

[[email protected]~]$lsof -i :3690

COMMAND   PID USER  FD   TYPE DEVICE SIZE/OFF NODENAME

svnserve 1807root    3u  IPv4  15223      0t0 TCP *:svn (LISTEN)

(3)创建svn项目

svnadmin create/application/svndata/sadoc   #创建一个svn项目

tree/application/svndata/sadoc            #查看创建的项目

查看svnadmin命令的用法:

svnadmin help

snvadmin help create

[[email protected] ~]$svnadmincreate /application/svndata/sadoc    #创建项目

[[email protected]~]$tree /application/svndata/sadoc/            #查看创建好的项目

/application/svndata/sadoc/

├── conf

│?? ├── authz

│?? ├── passwd

│?? └──svnserve.conf

├── db

(4)svn的配置文件(存放于svn安装目录的/svndata/sadoc/conf目录下):

authz为权限配置文件

passwd为用户密码列表

svnserve.conf 为svn配置文件

[[email protected] ~]$cd/application/svndata/sadoc/conf/

[[email protected]]$ll

total 12

-rw-r--r--. 1 rootroot 1080 Apr 21 00:03 authz

-rw-r--r--. 1 rootroot  309 Apr 21 00:03 passwd

-rw-r--r--. 1 rootroot 2279 Apr 21 00:03 svnserve.conf

(5)配置svn

1)配置svnserver.conf

[[email protected]]$cp svnserve.conf svnserve.conf.bak  #修改配置前备份

[[email protected]]$diff svnserve.conf svnserve.conf.bak

12,13c12,13

< anon-access =none      #不允许匿名访问

< auth-access =write      #访问时可写

---

> # anon-access= read

> # auth-access= write

20c20

< password-db =/application/svnpasswd/passwd    #认证时密码统一管理

---

> # password-db= passwd

27c27

< authz-db =/application/svnpasswd/authz        #认证时权限统一管理

---

> # authz-db =authz

2)配置passwd

#将密码和authz移到/application/svnpasswd/下

[[email protected]]$mv authz passwd /application/svnpasswd/

#添加用户

[[email protected]]$cat passwd

[users]

# harry =harryssecret

# sally =sallyssecret

dayi123 = dayi123      #在passwd文件中添加用户和密码

liu = liu123

stu01 = 123456

stu02 = 123456

3)配置authz

……

[groups]

# harry_and_sally =harry,sally

#harry_sally_and_joe = harry,sally,&joe

group_dayi123 =stu01,stu02   #进行分组

…..

#[repository:/baz/fuz]

# @harry_and_sally= rw

# * = r

[sadoc:/]            #对sadoc项目设置用户权限,也可以在项目下创建子项目对用户授权

dayi123 = rw

liuyi = r

@group_dayi123 =r   #设置组权限,组名前加@符号

4)重启服务

[[email protected]]$ps -ef | grep svn    #查看svn

root       1807     1  0 00:01 ?        00:00:00 svnserve -d -r/application/svndata/

root       1852  1704  0 00:24 pts/0    00:00:00 grep svn

[[email protected]]$pkill svnserve        #杀掉svn服务

[[email protected]]$svnserve -d -r /application/svndata/ #启动svn服务

[[email protected]]$ps -ef | grep svn      #查看重启后的svn服务状态

root       1855     1  0 00:24 ?        00:00:00 svnserve -d -r/application/svndata/

root       1858  1704  0 00:25 pts/0    00:00:00 grep svn

三、安装svn客户端

1、Windows客户端安装与配置

(1)安装Windows客户端,如图一所示

图一

(2)客户端创建项目,并连接至服务端,选择创建的项目,右击,并选择“SVN checkout…”,在弹出的窗口中填入服务器信息,如图二所示,点击“OK”,在弹出的窗口中输入用户名和密码进行连接。如图三所示。

图二

图三

(3)上传文件,右击项目目录,选择“SVNcommit ”,打开如图四所示窗口,选择需要上传的目录和文件,点击“OK即可开始上传”,传送完成后会出现如图五所示界面。

图四

图五

2、svnLinux客户端的操作(svn的Linux客户端就是svn,不需要额外的安装)

[[email protected]~]$svn co svn://172.16.251.192/sadoc /sadoc/ --username=dayi123 --password=dayi123     #将服务器上的目录下载到本地/sadoc目录

……

-----------------------------------------------------------------------

Store passwordunencrypted (yes/no)? yes

A    /sadoc/hello

A    /sadoc/hello/新建文本文档.txt

Checked outrevision 1.

[[email protected] ~]$ls/sadoc/   #查看下载的内容

Hello

[[email protected]~]$svn list svn://172.16.251.192/sadoc --verbose --username=dayi123--password=dayi123           #查看服务器里面的内容

1 dayi123               Apr 21 01:17 ./

1 dayi123               Apr 21 01:17 hello/

[[email protected] hello]$touch{a..z}.html    #创建文件

[[email protected]]$svn add *   #添加功能

A         a.html

A         b.html

A         c.html

……

[[email protected]]$svn ci -m "dayi123 20170423"  #提交

Adding         hello/a.html

Adding         hello/b.html

Adding         hello/c.html

时间: 2024-08-09 10:42:59

svn的搭建与管理的相关文章

如何搭建svn本地服务器,管理本地的代码

搭建svn本地服务器,下面是具体的步骤介绍. 一.准备工作 1.下载svn服务器端:Subversion. 到官方网站(http://s version.tigris.org/)下载最新的服务器安装程序.目前最新的是1.8.9版本. 注意:不要下载源码.源码里面没有bin文件夹.源码需要自己在unix,或者linux,或者cygwin等环境下编译,这关系另一个课题.为了简化,直接下载安装版本. 2.获取客户端程序:TortoiseSVN 从官方网站http://tortoisesvn.net/d

Linux下的SVN服务器搭建

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始*********/ 系统环境:Centos 6.5 第一步:通过yum命令安装svnserve,命令如下: >yum -y install  subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: >rpm -ql subve

svn的搭建和使用

啥是svn? svn是一个跨平台的开源的版本控制系统,svn版本管理工具管理着随时间改变的各种数据,这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,svn会备份并记录每个文件每一次的修改更新变动.这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也可以直接浏览指定文件的更新历史记录. svn的缺点: 上文提到每一次提交都会保留一个副本,所以svn的数据库容量会暴增 如果svn的服务器宕机,基本上不可以工作 不适

【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常实用,通俗易懂,可能做的过程会遇到问题,没事,大家慢慢研究,会成功的,文章我已做优化,就是我在搭建的过程出现的问题. 转自:dazeair 原文地址:http://dazeair.blog.51cto.com/4024187/1421178 系统:Ubuntu 12.04 64位 lnmp环境 集成

centos svn 的搭建

一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库(repository) 中. 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动. 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源代码库) 源代码统一存放的地方 (2). Checkout (提取) 当你手上没有源代码的时候,你需要从re

linux svn server搭建、多项目管理及主备方案

[svn简介]            svn用于版本管理数据,它采用了分支管理系统.在它出现之前存在CVS,svn推出之后,逐步替代了CVS.            目前又出现git,相比于svn,git更支持分布式版本管理,目前发展很猛,这里不详细介绍.大家可以先把svn了解熟悉之后,再看看git,对比下.            ps:时代总是在进步啊,需要跟上潮流.同时,需要了解潮流为何,需要思考潮流背后的原因为何,了解背景历史为何,否则就是盲从了. [第一安装] yum install s

SVN服务搭建和与eclipse连接

SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? 它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作. 一:SVN服务器搭建和使用. 1.     首先来下载和搭

SVN服务器搭建--Subversio与TortoiseSVN的配置安装 - 新新 - 博客频道 - CSDN.NET (2)

1.  Subversio和TortoiseSVN 简介 Subversio简介: Subversion是一个自由,开源的版本控制系统,可以随意地免费下载.修改.以及重新发布. 是一个通用系统,可以管理任何类型的文件. 服务器运行方式:独立服务器和借助apache. 存储版本数据方式:一种是在 Berkeley DB 数据库中存放数据.另一种是使用普通文件,采用自定义的格式来储存,称为 FSFS. Tortoisesvn简介: TortoiseSVN 是 Subversion 版本控制系统的一个

mac下svn服务器搭建及使用

---------------------------------------------svn服务器搭建mac上创建svn服务器管理 -------------step1$ svnadmin create svndir -------------step2conf > svnserve.conf修改配置 # anon-access = read # auth-access = write # password-db = passwd # authz-db = authz 去掉这几个前面的#和空