SVN版本服务器搭建(服务端+客户端)

环境:Win7 32 bit

SVN简介:程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。

Subversion是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

VisualSVNServer集成了Subversion和Apache。使用VisualSVNServer作为服务端,TortoiseSVN作为客户端。

VisualSVN Server的配置和使用方法【服务器端】

VisualSVN下载地址:http://subversion.apache.org/packages.html


下载后安装,一直【Next】,到如下所示

Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录,Server Port指定一个端口,Use secure connection勾上表示使用安全连接。继续【Next】到【Finish】。

安装好VisualSVN Server后,运行VisualSVN Server Manger,下面是启动界面:

右侧状态区包括:

Status:服务运行状态

SubversionAuthentication:账户信息

Respositories:代码库信息

添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:

在下图所示的文本框中输入代码库名称:

上图中的选择Empty……,只创建空的代码库QGroundStation ; 如果选中Single……则在代码库QGroundStation下面会创建trunk、branches、tags三个子目录。

选择默认选项,点击Create,代码库就创建成功了。

创建完代码库后,此时还没有任何内容在里面。

下面说明如何迁入源代码:

迁入源代码到SVN服务器

安装TortoiseSVN后,我们在12-21文件夹中已经创建了一个项目,要把这个项目的源代码迁入到SVN Server上的代码库中,使用TortoiseSVN的将源代码迁入。

右键点击12-21文件夹,如图,点击Import选项,

弹出

其中URL of repository是svn server中代码库的根目录,在信息输入框中写记录日志是个非常好的习惯

点击OK按钮,会弹出下面的窗体,要求输入凭据。输入用户名密码后,点击OK按钮,

如图所示,源代码已经成功签入SVN服务器了。

签出源代码到本机

在本机创建文件夹QGroundStation-1221,右键点击Checkout,弹出如下图的窗体(参照):

一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。

注:

 一个新检出的工作复本使用绿色的对勾重载,表示Subversion状态正常。

在你开始编辑一个文件之后,状态就变成了已修改,而图标重载已变成了红色感叹号。通过这种方式,你可以很容易地看出那些文件从你上次更新工作复本被修改过,且需要提交。

如果在提交的过程中出现了冲突,图标就会变成了黄色感叹号。

加号告诉你有一个文件或者目录已经被计划加入到版本控制中。

提交修改过的文件到SVN服务器

注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。

在QGroundStation-1221文件夹上点击右键或在QGroundStation-1221文件夹内的空白处点击右键,点击SVN Commit…弹出下面的窗体:

点击OK按钮后,弹出如下图的窗体:

点击OK按钮,修改过的文件提交成功。

添加新文件到SVN服务器

1、 在文件夹内的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。

2、 也可以在新建的文件上点击右键,点击TortoiseSVN=>>Add,这样只是将这个文件提交到“变更列表”中。必须VN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。

添加文件夹的步骤也是一样的。

更新本机代码与SVN服务器上最新的版本一致

只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。

注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。

重命名文件或文件夹,并将修改提交到SVN服务器

在需要重命名的文件/件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法不是直接重命名,我们使用SVN Commit提交到SVN服务器后才真正重命名。

删除文件或文件夹,并将修改提交到SVN服务器

1、  直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。

2、  在要删除的文件/文件夹上右键,TortoiseSVN=>>Delete,此方法也不是直接删除,而是将状态置为删除,仍需要SVN Commit,在变更列表中选择被删除文件,执行后才真正删除。

说明:实际上,从你把源代码迁迁入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。

安全性设置

在左侧的Users上右键:

输入上面的信息,点击OK,我们就创建一个用户了。按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:

点击上图中的”Add…”按钮,在下图中选择我们刚才添加的用户,点击OK按钮:

说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权。

按照下图所示,分别对用户【或组】进行授权:

注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。

一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用。

参考:http://www.cnblogs.com/armyfai/p/3985660.html

http://jordan-micle.iteye.com/blog/1285604

时间: 2024-10-09 10:23:33

SVN版本服务器搭建(服务端+客户端)的相关文章

SVN版本控制系统搭建(结合http服务)

.zise { background: #CCCCFF; color: white; text-align: center } .fense { color: #FFCCCC; text-align: center; font-size: 22px } .lan { background: #99CCFF; color: white } table { position: relative; margin-left: 150px } .table td { width: 100px; borde

手机淘宝客应用(服务端+客户端+数据库)源码项目

欢迎大家光临我的个人网店:http://shop.662p.com/shop/view8.html 这是一款比较完整的应用源码,手机淘宝客应用(服务端+客户端+数据库),客户端是Java代码实现编程,另外服务端是采用了php的常见框架实现的,代码里面有一个sql文件是数据库导入文件 ,里面的apk是用来升级的版本 设置. 文件大小:10.94 MB 服务器:thinkphp 代码里面有一个sql文件是数据库导入文件 ,里面的apk是用来升级的版本 设置update.xml 用来跟之前安装的对比版

看懂 游戏《Minecraft》的崩溃报告 服务端/客户端

如何看懂Minecraft报错的关键信息. 让你如何看懂Minecraft报错 前言 一些俏皮话 寻找崩溃日志 打开崩溃日志 重要的事说三遍 下载文本编辑器 开始分析 深度分析 得出结论 修复报错 解决方案 看懂更多 结束 前言 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外,比如网易 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外,比如网易 [WARNING] 本篇适用于Minecraft服务端/客户端报错

WebService 服务端客户端 实例(一)

Delphi中WebService包含的组件解释(有7个)     (1) THTTPRIO-------:使用Http消息来调用远程使用SOAP的接口对象     (2) THTTPReqResp---:给服务器发送一个SOAP消息, THTTPReqResp在可调用接口上执行一个方法请求.       (3) TOPToSoapDomConvert ----:TOPToSoapDomConvert处理Soap方法请求的组合与分发     (4) TSoapConnection:TSoapCo

PHP-Socket服务端客户端发送接收通信实例详解

Socket介绍 什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. Socket连接过程 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认.

unity手游《摩卡世界online》全套源码(服务端+客户端+数据库)

unity手游<摩卡世界online>全套源码(服务端+客户端+数据库),客户端用unity3d开发,服务端用java开发,包含服务端源码.客户端源码.工具源码.数据库.配置搭建文档说明.编译好的文件等,解压后2.32G大小,要的速度下,过期不候. 摩卡世界是一款人气火热的休闲类手机网游,画面精致,出场人物造型各异,十分讨人喜爱,同时摩卡世界操作都是通过功能按钮的组合来完成,全拟真的操作规则和爽快的打击节奏让我们找回街机般的操作手感,华丽的必杀技.便捷的操作和流畅的画面,会让格斗爱好者爱不释手

企业运维之域控篇(十四)-域共享文件(服务端&客户端)设置

在公司我们这类杂工最多面对的也就是文件共享服务器.....这个是公司的重中之重,希望公司的领导与我们这类的杂工能够关注:免得一失足成千古恨!!!! 共享文件的作用:主要是在方便大家共同拥有. 共享服务器里的文件只能是暂时存放,而不是让它成为永久的仓库... 可能是人的懒性吧,所以每个公司的员工都是喜欢直接在共享文件里进行工作操作(如:编辑等等),其实这个是最点服务器资源与危险的事情. eg: 当你编辑好文件,保存后才发觉原来改错了,要恢复?那真是有些悲剧了(自己找不到需要的资料,同时也造成同事不

Python socket模块实现TCP服务端客户端

Python socket模块实现TCP服务端客户端 写了详细的注释,如果有哪一行不明白,可留言哦. 服务端脚本 # _*_ coding: utf-8 _*_ __author__ = 'xiaoke' __date__ = '2018/6/13 14:39' # 这个脚本创建一个TCP服务器,它接收来自客户端的消息,然后将消息加上时间戳前缀并返回客户端 import socket from time import ctime HOST = '' PORT = 21567 BUFSIZ = 4

Zabbix 服务端&客户端,安装

文档整理中,虽然格式有点乱,但思路不乱~~ 见谅 Zabbix Server 第1章 安装环境 1.1 系统环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -r 2.6.32-573.el6.x86_64 [[email protected] ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {