序,我的ubuntu服务器版本是14.04 ,x64(64位)操作系统,服务器在国内。

目录

一、安装SVN服务器

1 安装svn
2 创建目录
3 创建版本仓库
4 配置
5 启动SVN服务器
6 验证svn功能及使用方法

二、安装eclipse SVN插件

基本常识介绍:
准备工作:
第一种安装方法是eclipse在线安装
第二种安装方法是下载插件包到本地,将插件包复制到Eclipse安装目录

三、SVN使用方法

1 将项目添加到SVN仓库
2 更新项目
3 往项目中增加新文件
4 删除文件
5 重命名文件
6 排除不想上传到SVN的文件
7 提交变更文件到SVN

一、安装SVN服务器

1 安装svn

sudo apt-get install subversion(root用户可以去掉sudo)

2 创建目录

cd /srv

sudo mkdir svn

cd svn

sudo mkdir tone_src #svn的版本仓库存放目录

3 创建版本仓库

当前位置在/srv/svn/tone_src

sudo svnadmin create /srv/svn/tone_src

执行之后tone_srv下文件结构如下:

4 配置

我们需要修改conf目录下的三个文件,authz,passwd,svnserve.conf

(1)编辑svnserve.conf

[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz

(2)编辑authz

[groups]
admin= tone #admin组的用户为tone

[/] #必须写/,因为这表示从仓库的目录开始设置权限
@admin =rw #admin组有rw(读写权限),所有人有r(读权限)
*=r

注释:这里组的名字不一定叫admin,组的名字可以任务,admin组有多个用户的话,可以这样制定admin=tone,tone1,tone2等。

(3)编辑passwd文件,设定用户密码

[users]
# harry = harryssecret
# sally = sallyssecret
tone=www #设定用户tone的密码是www,是的没错,密码是明文的。

5 启动SVN服务器

sudo svnserve -d -r /srv/svn #启动服务器

-d 已守护模式启动

-r 指定svn版本库根目录,这样是便于客户端不用输入全路径,就可以访问版本库了。

例如:svn://ip:port/tone_src

6 验证svn功能及使用方法

由于我们只搭建了SVN服务器,所以在外网访问时只能通过SVN协议访问仓库内容。

也就是svn://ip:port/repository

(1)如果你想通过浏览器访问,也就是http/https协议进行访问,那么你需要再安装apache服务器,然后把svn当做apache服务器的模块去运行,那时候就可以利用http://ip:port/repository的方法去访问了。

(2)利用eclipse svn插件访问,下章节就教你如何安装subclipse(elipse中的svn插件)

(3)svn客户端,这个网上有很多客户端,例如tortoisSVN(也就是乌龟svn,哈哈)

二、安装eclipse SVN插件

基本常识介绍:

svn服务器端和svn客户端(插件)版本最好要对应

首先查看安装的SVN服务器版本,利用 svn --help命令看版本号

我的SVN服务器版本是1.8.8,那么对应客户端应该选择1.10.x版本。

准备工作:

安装SVN插件有多种方式,下面会介绍两种常用方法,

我的eclipse是Luna版,详细见下图:

采用的svn插件是开源的subclipse,目前最高版本是1.12.x。

suclipse官网地址是:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

第一种安装方法是eclipse在线安装

由于资源服务器在美国,所以对于没有FQ的用户很难成功,不管如何也介绍一下操作方法

1 help菜单-》Install New Software

2 输入插件地址

3 如果网络可以访问,则会弹出下面内容,选择它们

4 之后就是一路Next,如果网速允许就可以安装成功了,我的网络不行,没安装成功。

第二种安装方法是下载插件包到本地,将插件包复制到Eclipse安装目录

1 下载zip安装包

下载地址:http://subclipse.tigris.org/files/documents/906/49433/site-1.10.10.zip

2 解压缩site-1.10.10.zip安装包

3 目录内容拷贝

将压缩包解压缩到site-1.10.10目录中,然后将此目录整个拷贝到eclipse安装目录的dropins中,然后重启eclipse。

网上有些博客说将插件包features和plugins目录中的文件分别复制到Eclipse安装目录的features和plugins中。也可以安装成功,但我试验了一下没能安装成功,不知道是我操作错了,还是这个方法不适合我当前版本。不管了,有种方法能做到就可以了。

4 查看是否安装成功

选择文件-》import中存在从“SVN检出项目",那么证明安装成功了。

三、SVN使用方法

1 将项目添加到SVN仓库

(1)

要将新的项目添加到 Subversion 存储库,请右击该项目(可以在任何 Eclipse 的项目视图或 Navigator 视图),并且从菜单中选择 Team > Share Project。Eclipse 会显示 Share Project 对话框。

(2)

从 Eclipse 当前支持的存储库列表中选择 SVN,然后单击 Next。接下来的对话框(参见图 13)让您选择现有存储库位置,或者创建一个新位置。

(3)

如果您的存储库已列出(如您所见,我已经添加了自已的库),选中它,并单击 Finish。如果您的存储库未列出,请添加它(有关说明,请参阅 快速测试),并继续。Eclipse 将在存储库中创建新目录,其名称与项目相同,并显示项目中的所有文件和文件夹的列表。

(4)

在顶部的字段中输入适当的内容来描述此项目,然后单击 Select All 选中该项目的所有文件。单击 OK 以检入项目,并将其当前状态传递给 Subversion 存储库。

Subversion 的命令和输出结果显示在 Console 视图中,通常位于 Eclipse 窗口的底部(如果您查看 Subclipse 究竟对项目执行了什么操作)。

2 更新项目

版本控制系统的重要特性之一是其他开发人员能够随时继续开发,并在准备好时提交其变更。要下载这些变更,并将其与本地副本集成,您需要更新项目。

右击您要更新的项目,然后从菜单中选择 Team > Update。Eclipse 将从存储库中检索任何变更,并尝试将它们与本地副本合并。

3 往项目中增加新文件

如果将文件添加到项目中(参见图 15),它不会自动成为版本控制的一部分 —— 您需要明确将其添加到特定的存储库中。在下面的屏幕快照中,您可以看到,我已经将 ReadMe.txt 文件添加到了 threadWork 项目中。

右击新文件,然后选择 Team > Add to Version Control。就是这样!下一次将此项目中的变更提交给存储库时,新文件也会检入。

4 删除文件

如果将文件添加到了与项目不在相关的存储库中,您可以轻松地删除它。右击文件,然后选择 Delete。不需要使用 Team 菜单,Subclipse 自动将标记要删除的文件,并将它从项目中移除。下一次将变更提交给存储库时,该文件被删除了。

5 重命名文件

要重命名 Subclipse 控制的文件或目录,请右击它,然后选择 Rename。在输入字段中键入项的新名称,按 Enter 键。文件是在项目中重命名的,重命名操作(通过 Add 操作添加新名称、通过 Delete 操作删除旧名称)排队等待您下一次提交。在图 16 中,您可以看到将 main.c 重命名为 threadWork.c 之后、提交更改之前的 threadWork 项目。注意,Subclipse 为 “新” 文件添加的蓝色小加号表示该文件被安排在下一次提交时添加。

6 排除不想上传到SVN的文件

如果项目生成文件,或者包括您不想检入的 Subversion 存储库文件,则可以通知 Subclipse 忽略它们。右击您要在版本控制中排除的文件或目录,然后选择 Team > Add to svn:ignore 即可显示Add to svn:ignore 对话框。

单击 OK 将这个特定的文件添加到项目目录的 svn:ignore 属性中。选择 Wildcard extension 忽略具有当前文件扩展名的所有文件,或选择 Custom pattern 在忽略列表中添加您自己的通配符。下一次提交变更时,对忽略列表的这些更改将添加到存储库中。

7 提交变更文件到SVN

在尝试提交变更之前,请确保更新您的项目(参阅 “更新项目”)。右击项目,并从菜单中选择 Team > Commit。Eclipse 会显示一个 Commit 对话框(参见图 18),其中汇总了您作出的变更。

如果仔细观察,您会看到一个属性更改为项目目录(我已经添加了svn:ignore属性,以使某些文件保留在存储库外),并且在添加 threadWork.c 时,删除了 main.c。这一变更对实际上表示的是一个操作(文件重命名)。

此时,如果您要使某些资源保留在存储库外,则可以取消对这些资源选择。如果您在一个文件中完成了部分工作,并且不希望检入未完成的变更,则这种方法非常有用。在顶部的文本字段中输入适当的注释,然后单击 OK 将变更检入存储库。

好了,SVN的服务器搭建,客户端安装及使用方法都介绍完了,有问题可以留言给我。

ubuntu下手把手教你搭建SVN服务器的更多相关文章

  1. Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  2. Ubuntu 14.04快速搭建SVN服务器及日常使用【转】

    转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...

  3. ubuntu搭建svn服务器并htpp访问版本库并svn与web同步

    Ubuntu搭建SVN服务器多版本库 1  介绍   Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...

  4. ubuntu下搭建svn服务器

    [ubuntu下搭建svn服务器] 1.创建目录 mkdir ~/svn/repository/ 2.创建仓库 svnadmin create repository 3.进入 repository/c ...

  5. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

    http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...

  6. Ubuntu系统搭建SVN服务器

    Ubuntu系统搭建SVN服务器 参考地址:http://git.devzeng.com/blog/aliyun-ubuntu-svn-server.html 安装软件 依次在终端中执行下面的命令安装 ...

  7. Ubuntu 14.04快速搭建SVN服务器及日常使用

    1.介绍  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以很方面恢复到以前的版本,并可以查看数据更改 ...

  8. Ubuntu环境搭建svn服务器

    记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装   二.卸载已安装的svn 命令:sudo apt-get remove ...

  9. 搭建svn服务器(ubuntu)

    ubuntu搭建svn服务器 环境:ubuntu 12.04.5 apt-get install subversion 找个目录作为svn的仓库 mkdir svn svnadmin create s ...

随机推荐

  1. MPMoviePlayerViewController的使用 (不直接将播放器放到主视图控制器,而是放到一个内部模态视图控制器中)

    其实MPMoviePlayerController如果不作为嵌入视频来播放(例如在新闻中嵌入一个视频),通常在播放时都是占满一个屏幕的,特别是在 iPhone.iTouch上.因此从iOS3.2以后苹 ...

  2. MVC5 + EF6 + Bootstrap3 (10) 数据查询页面

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-search-page.html 系列教程:MVC ...

  3. MATLAB代码加密生成.p文件

    代码就下面一句话: pcode yourfile.m 生成的 yourfile.p就是你的加密文件,别人是看不到代码的,调用和m文件调用一样.

  4. inconsistent line count calculation in projection snapshot

    1.现象 在vs2013中,按Ctrl + E + D格式化.cshtml代码,vs2013系统崩溃.报:inconsistent line count calculation in projecti ...

  5. 第四十五课:MVC,MVP,MVVM的区别

    前端架构从MVC到MVP,再到MVVM,它们都有不同的应用场景.但MVVM已经被证实为界面开发最好的方案了. MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/P ...

  6. Javascript基础系列之(三)数据类型 (布尔型 Boolean)

    javascript同样有布尔型,可选值,true or fasle. var marr = true ; document.write(typeof(marr) + "<br> ...

  7. MyEclipse内存不足问题

    1.修改eclipse.ini 在Myeclipse安装目录下G:\MyEclipse8.5\Genuitec\MyEclipse 8.5有一个myeclipse.ini配置文件,设置如下: -vma ...

  8. 设计模式之UML类图的常见关系(一)

    本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Compositio ...

  9. JS实现Ajax---例:获取服务器时间

    Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...

  10. 【ZOJ 3480】Duck Typing

    题 题意 1.有t组数据,输入时每组数据之间空格隔开,输出时也要求空格隔开. 2.每组都是一行begin开始,一行end结束. 3.class ClassName[:Super] 表示声明一个类型,S ...