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

环境:Win7 32 bithtml

SVN简介:程序员在编写程序的过程当中,每一个程序员都会生成不少不一样的版本,这就须要程序员有效的管理代码,在须要的时候能够迅速,准确取出相应的版本。程序员

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

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

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,下面是启动界面:svn

 

右侧状态区包括:spa

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服务器

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

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

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

 

 

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

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

注意:更新操做可能会由于版本冲突而失败,这是可使用合并【Merge】或其余方法解决;也可能由于锁定【Get Lock】而失败,这是须要先解锁【Release Lock】。

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

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

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

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

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

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

安全性设置

在左侧的Users上右键:

 

输入上面的信息,点击OK,咱们就建立一个用户了。按照上面的过程,分别添加用户Developer一、tester一、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