VisualSVN Server搭建svn服务器 TotoiseSVN做客户端 或安装subclipse插件

Windows环境下使用VisualSVN Server比较方便

下载地址

http://www.visualsvn.com/ server

VisualSVN Server免费,VisualSVN 客户端收费(可与virtual studio配合使用),但客户端可以用免费的TortoiseSVN代替。

使用原始的 Subversion SVN 和 Apache 相配合来实现源代码的 SVN 管理,虽然专业且功能强大,但配置复杂,大多用于linux系统环境下。而使用 VisualSVN Server 来实现主要的SVN 功能则简单得多。


安装VisualSVN Server

指定安装目录和数据仓库位置,然后基本用默认的就可以,版本有标准版(完全免费)和企业版(功能强大),管理工具也要勾选中,一般选用8433端口 采用https方式。


配置VisualSVN Server:

新建用户(设置用户名和密码),然后给用户分组 指定用户的读写权限 ,比如开发组 具有读写权限,测试组只下载代码不提交代码只分配读取权限。


新建数据仓库:

直接新建空的新仓库即可,然后用客户端迁入项目。


安装TortoiseSVN:

这个比较好安装,基本默认选项,修改一下安转目录即可。


如果用Eclipse 或者 myeclipse请下载插件subclipse

http://subclipse.tigris.org/

http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x
Zipped downloads: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
Archived releases: http://subclipse.tigris.org/archive

安装到MyEclipse中

一、通过MyEclipse Configuration Center在线安装

    1. 打开MyEclipse10,在菜单栏选择MyEclipse→MyEclipse Configuration Center,即可进入到MyEclipse Configuration Center。

    2. 在MyEclipse Configuration Center界面中点击Software选项卡,在Software界面中点击add site,在弹出框输入信息

      Name : SVN

      URL : http://subclipse.tigris.org/update_1.8.x

    3. 等待一段时间,MyEclipse Configuration Center界面右上角会出现 Apply change,点击即可完成安装。

 

  二、解压安装

    下载SVN的zip文件 site-1.8.4.zip,直接把文件下的features目录和plugins目录解压到MyEclipse安装目录下的dropins目录即可(MyEclipse→MyEclipse 10→dropins),重启即可。

 

  三、创建link文件指向插件位置(推荐)

    1. 同样下载SVN的zip文件 site-1.8.4.zip,把文件下的features目录和plugins目录解压到任意位置

    2. 在MyEclipse安装目录下的dropins目录创建.link文件,如svn.link。

    3. 编辑svn.link文件,输入 path=第一步解压的features文件夹和plugins文件夹所在的目录,如 path=D:/Plugin/SVN。重启即可。


*************************************************************************************************************************************************

 SVN 版本控制

一、 使用版本控制的理由

试想一下:

如果我们总是靠ftp上传某些文档和源代码,如果这个文档需要多个人共享操作,比如把每个人的进度信息都填充在这个文档中,A写过上传,B写过上传,……这样是不是存在文档覆盖问题?如果有一个项目需要多个人合作完成,A在本机写,B在本机写,将来怎么合并?大家如何共享一些公共资源?对于团队合作中,需要共享的资源,为了更好的在每个成员中分享,就要使用版本控制。这是团队合作的基础。

使用版本控制可以做到:

l 及时了解团队中其他成员的进度

l 轻松比较不同版本之间的细微差别

l 记录每个文件成长的每步细节,利于成果的复用

l 资源共享,避免以往拷贝文件造成的版本混乱

l 协同工作,大大提高团队的工作效率,无论团队成员分布在天涯还是海角

二、 SVN的介绍

1. SVN全称subversionhttps://subversion.apache.org/,是一款优秀的版本控制软件。SVN是近年来崛起的版本管理工具,是CVS的接班人。目前绝大多数开源软件都使用SVN作为代码版本管理软件。

 

2. SVN分为服务端Subversion和客户端TortoiseSVNTortoiseSVNSubversionWindows操作系统上的图形客户端程序,是开源、免费的。程序员通常只需要安装SVN客户端TortoiseSVN

SVN客户端安装好之后,任一地方鼠标右键,就会出现如下菜单

 

以下图是在版本控制后的文件夹上的右键菜单

 

3. 基本概念:工作拷贝、修订版本

工作拷贝:是本地机器的一个普通的目录。这个目录的内容是版本库中某个目录的拷贝。工作拷贝的SVN路径为版本库中拷贝目录的路径。工作拷贝是私有工作区,可以任意编辑里面的文件并且发布更改。通常,一个工作拷贝对应于版本库的一个子目录,日常的开发是针对工作拷贝进行的。工作拷贝里面还有一些由Subversion创建和维护的额外文件,用于命令的协助执行,所以它们又叫工作拷贝管理目录。通常,它们都保存在工作拷贝目录及子目录下的.svn目录(隐藏)中,凭借这个目录中保存的信息,Subversion可以识别哪一个文件被修改了,哪一个文件已经过时了,等等。(.SVN记录两项关键的信息:该文件作为基准的修订版本(叫做文件的工作修订版本),和该文件最后更新的时间戳)

修订版本:SVN的提交(Commit)操作是把工作拷贝的更改发布到版本库的一个原子操作。每当一次提交完成后,版本库的文件系统就进入了一个新的状态,叫做一次修订(Revision),每一次修订都会赋予一个独一无二的版本号,一般是从0开始的递增自然数,一个比一个大。

三、 SVN使用图表说明

一个新checkout的工作副本显示此图表,表示subversion状态正常。

当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种方式可以很容易的看到我们对哪些文件进行了修改操作,但是此时的文件还没有提交到备案本库中。

如果本地工作副本与版本库中内容出现冲突,图标变为黄色感叹号作为提醒。

表示我们对文件进行了锁操作,并且subversion状态是正常的。当我们不适用该文件时,要进行解锁操作,允许其他成员提交对该文件的修改。

表示当前文件夹下得某个文件或文件夹已经被删除或者丢失。

表示我们在工作副本中新增的文件或者文件夹已经被加入版本控制。

四、 冲突(解决冲突的方法必须学会,否则开发时会遇到大家的文件相互覆盖的现象)

1. 什么是冲突

冲突是指团队协同工作时,当多人同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况。

2. 冲突产生的原因

当团队协同工作的时候,多人操作同一个文件。A操作完成后将该文件提交到SVN上。其他人的本地文件与SVN上的版本不一致,这些人操作完成后,提交文件就会出现冲突。

3. 冲突提示框

 

4. 解决冲突

遇到冲突时,需要update该文件。您会看到新增了三个文件。   

Filename.mine Filename.rOLDREVFilename.rNEWREV

  

解决冲突的三种方式:

Ø 手动合并冲突文件

对比以上三个新增的文件,可以看到原始版本、自己本地、别人提交后版本之间的差别。可以自己选择取舍。

Ø 使用工具解决冲突

 

使用此工具,会自动列出两个版本之间的冲突,并让您选择使用哪个版本的内容。

Ø revert放弃上所做的修改

 

通过以上三种方式解决冲突后,要选择resolved解决。Resolved之后,上面提到新增的三个文件会自动删除。

建议:在修改文件之前,先进行一次update操作。

      在修改完成,提交之前,进行一次update,然后再提交。

      出现冲突很正常,可以通过以上三种方式解决,不要相互覆盖,导致自己写的代码丢失。

 

五、 我们项目中的使用方法

1、安装TotoiseSVN

 

根据自己的系统,选择32位或64位。

2、如果要在MyEclipse中对项目进行版本控制,

MyEclipse中的SVN使用方法:http://blog.sina.com.cn/s/blog_8a3d83320100zhmp.html

3TotoiseSVN 的基本使用方法:

1、签入源文件到SVN服务器 (源文件的创建者做

要把源文件签入到SVN服务器的代码库中,首先右键点击需要放在svn服务器上的文件夹,这时候的右键菜单如下图所示:


说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后 你提交代码的时候是非常有用的。

 

如我们自己的格式:

 

点击OK按钮,会弹出下面的窗体,要求输入凭据:

 

在上面的窗体中输入用户名和密码,点击OK按钮:

 

如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。

2、签出源代码到本机

在本机创建文件夹,自命名,右键点击Checkout,弹出如下图的窗体:

 

在上图中URL of Repository(不详者参照第1步):下的文本框中输入svn server中的代码库的地址,在此栏里面填充的地址格式是:https://192.168.1.200:8443/svn/****/,****的位置填充:0_任务管理或1_project。其他默认,点击OK按钮,就开始签出源代码了。

说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。

上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://xxx.cn/svn/StartKit/这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。

源代码已经成功签出到刚才新建的目录中。

打开目录,可以看到如下图的文件夹结构:

 

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

 

大家看一下不同状态所对应的图片:

 

已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。

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

下面演示如何提交到SVN服务器。

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

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

 

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


4、添加新文件到SVN服务器 

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

另外也可以在文件上点击右键,点击TortoiseSVN=>>Add

 

选中文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。

上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。


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

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

注意:更新操作可能会因为版本冲突而失败,这是可以使用冲突解决方案。


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

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

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

最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>> Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值