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

摘要:
使用VisualSVNServer作为服务端,TortoiseSVN作为客户端。输入用户名密码后,点击OK按钮,如图所示,源代码已经成功签入SVN服务器了。提交修改过的文件到SVN服务器注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。删除文件或文件夹,并将修改提交到SVN服务器1、直接删除文件或文件夹,然后使用SVNCommit提交更新到SVN服务器。

环境:Win7 32 bit

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

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

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

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

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

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

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

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

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

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

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

右侧状态区包括:

Status:服务运行状态

SubversionAuthentication:账户信息

Respositories:代码库信息

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

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

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

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

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

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

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

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

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

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

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

迁入源代码到SVN服务器

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

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

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

弹出

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

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

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

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

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

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

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

签出源代码到本机

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

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

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

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

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

注:

SVN版本服务器搭建(服务端+客户端)第17张一个新检出的工作复本使用绿色的对勾重载,表示Subversion状态正常。

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

SVN版本服务器搭建(服务端+客户端)第19张如果在提交的过程中出现了冲突,图标就会变成了黄色感叹号。

SVN版本服务器搭建(服务端+客户端)第20张加号告诉你有一个文件或者目录已经被计划加入到版本控制中。

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

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

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

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

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

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

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

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

添加新文件到SVN服务器

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

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

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

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

更新本机代码与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上右键:

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

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

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

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

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

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

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

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

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

注意:向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

免责声明:文章转载自《SVN版本服务器搭建(服务端+客户端)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何在CentOS中设置VNC多用户登录Qt正则表达式类QRegExp(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SVN设置全局忽略提交文件或者目录

在目录中右击选择TortoiseSVN -> 设置 -> 常规设置 -> 全局忽略样式 修改全局忽略样式(可以设置忽略的文件或者目录,以空格隔开):*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp ....

svn命令行

svn操作:1.如果本机的默认的LANG环境变量是zh_CN.UTF-8,生成的patch里面包含“版本号”,这样在review board上传patch会因为格式问题导致失败,最好把LANG该为英文, export LANG="en_US.UTF-8"2.svn的patch问题svn diff > trip_refactor01_review.di...

C Primer+Plus(一)概览

 第一章  概览 *复习题: 1、就编程而言,可移植性表示什么? 答:表示可更好地适应于多种运行环境。 答案:一个程序的可移植性好,就是指程序的源代码不经修改就可以在多种不同的计算机系统里编译成可成功运行的程序。 2、解释源代码文件、目标代码文件和可执行文件之间的区别。 答:源代码文件是存储程序代码的文件;目标代码文件是经过编译之后将源代码转换成机器代码的...

svn 基础 入门 (Good!)

前言: 软件不能完全解决因沟通造成的问题。 什么是 svnsubversion的版本库是一种文件服务器,它记录每一次改变,每个文件的改变,甚至是目录树本身的改变,例如文件和目录的添加、删除和重新组织。一般情况下,客户端从版本库中获取的数据是文件系统树中的最新数据。但是客户端也具备查看文件系统树以前任何一个状态的能力。举个例子,客户端有时会对一些历史性问题感...

SVN图形管理工具-Submint

1.安装svn及相关依赖包 yum install subversion httpd mod_dav_svn apr-util-sqlite   2.下载submin wget https://supermind.nl/submin/current/submin-2.2.2-1.tar.gz tar zxvf submin-2.2.2-1.tar.g...

[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且要对产品生命周期和开发过程进行规范管理才行。那么源代码管理器是必不可少的。本篇主要介绍一款非常简单易用,且有一定普及率的源代码管理工具VSS. 1.VSS简介...