svn简介及使用

来源:互联网 发布:网络连接图片 编辑:程序博客网 时间:2024/06/05 10:19

版本管理工具SVN

 

Svn简介   git

1.1 什么是svn

Subversion,是一个开放源代码的版本控制系统,cvs的重写版和改进版,本质是一款版本管理工具,运行环境独立服务器、基于Apache,多数开源软件使用svn作为代码库

说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

1.2 什么是版本管理工具

版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。

它的主要功能有:

(1) 集中管理档案,安全授权机制:档案集中地存放在服务器上,经系统管理员授权给各个用户。用户通过check incheck out的方式访问服务器上的文件,未经授权的用户则无法访问服务器上的文件。

(2) 软件版本升级管理:每次登入时,在服务器上都会生成新的版本,任何版本都可以随时检出编辑。

(3) 加锁功能:在文件更新时保护文件,避免不同的用户更改同一文件时发生冲突。

(4) 提供不同版本源程序的比较

 

1.1 为什么使用svn

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

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

• 广域网共享

• 协同工作,大大提高团队工作效率

1.2 Svn能做什么

1.2.1 配置库

储存所有的数据,配置库按照文件树形式储存数据-包括目录和文件,任意数量的客户端,可以连接到配置库,读写这些文件.并且可以添加读写日志,有权限的用户很方便的看到这些修改

1.2.2 工作副本

与位于中央配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从这里提交回配置库中。

Svn的工作流程

集中式管理的工作流程如下图:

 

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:

 

开始新一天的工作:

 

 

1、从服务器下载项目组最新代码。

 

2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。

 

3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。

 

1.3 Svn的工具

Svn服务端工具:SubVersionVirtualSvn

Svn客户端工具:TortoiseSvn(小乌龟)svn插件

1.4 常见的版本管理工具

CVSConcurrent Version System(简称CVS)  ,CVS是开发源代码的配置管理工具,其源代码和安装文件都可以免费下载。

SVN SVNSubversion的简称,是一个开放源代码的版本控制系统,相较于RCSCVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

GITGit是一个分布式版本控制工具,它的作者 Linus TorvaldsGit与常用的版本控制工具 CVSSubversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。

VirtualSVN

集成了SubversionApache,简化了手工配置Subversion的繁琐步骤。

VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVNSVN的客户端,和Visual Studio集成在一起, VisualSvn ServerSVN的服务器端,包括SubversionApache和用户及权限管理

 

学习参考链接:http://blog.csdn.net/jiminull/article/details/7763795

 


 

 

 

 

 

2.1 VirtualSVN的下载

VisualSVN Server下载:

http://download.csdn.net/detail/jiminull/4448874

http://www.visualsvn.com/server/download/

2.2 VisualSVN Server安装

下载完VisualSVN Server后,只要双击VisualSVN Server安装文件,按步骤点击下一步安装即可,VisualSVN Server捆绑安装了Apache,免去了你安装apache的麻烦。

同时VisualSVN Server安装步骤中涉及了部分VisualSVN Server配置信息,我会在VisualSVN配置部分详细介绍,VisualSVN Server安装完毕后,即会跳出VisualSVN配置界面,如下图

 

 

TortoiseSVN(小乌龟)

3.1 TortoiseSVN介绍

TortoiseSVN Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。

 

主要是管理项目中非代码部分(文档、原型图、其他文件)

3.2 TortoiseSVN的安装

学习链接

http://jingyan.baidu.com/article/358570f6638aa4ce4724fcf7.html

 

3.3 SVN图标使用说明


 

3.4 Tortoies使用注意事项

l TortoiseSVN安装之后如果不重启,则图标没办法显示

l 可以重启explorer.exe进程代替重启系统过程

3.5 TortoiesSvn操作

3.5.1 导入(import)

作用:将未纳入版本控制器的文件或目录提交到版本库中(仅执行一次)

3.5.2 导出(check out)

作用:将版本库中的内容检出到本地工作副本

1.1.1 添加(Add

在菜单中选择“添加Add”命令。不需要受SVN控制的文件请取消打钩

1.1.1 更新(uptdate

作用:将版本库的修改合并到工作副本中

 

1.1.2 提交(commit

作用:

1把工作副本的修改提交到版本库

    2对工作副本进行编辑后提交到SVN

1.1.3 还原(Revert

作用:撤销本地所有未提交的修改

注意:还没有执行Commit操作之前执行此命令才可以,否则无效

 

1.1 Tortoise冲突解决

冲突是指团队协同工作时,当多位团队成员同修改同一个文件,而导致文件无法提交情况

这个时候选择更新操作,可以把冲突的文件下载到本地

 

 

思考:如何避免冲突?

解决冲突

面对文件冲突,选择以下两种方式解决

revert放弃所做的修改

使用工具解决冲突

 

revert放弃所做的修改

选择SVN还原(revert)放弃自己所做的修改

 

 

使用工具解决冲突

 

关于冲突的建议

修改文件之前,先进行一次update操作

修改完成后,及时commit,不要在本地停留过长时间

在多位团队成员协作时,尽量修改自己撰写的部分,尽量不要修改不属于自己撰写的部分

出现冲突很正常,可以通过前面的方法解决,不要相互覆盖

Svn基本操作总结

Import:可以把项目提交到SVN版本库中.

Checkout:获取版本后.默认是绿色的勾.这说明和服务器端的数据是一致的.如果有红色的惊叹号.则说明数据存在着不一致

Commit命令:若确认修改,想把副本提交到版本库中,则使用Commit命令

Update命令:如果你想更新到svn服务器的最新版本.这个时候可以使用update命令,update有可能会导致版本冲突

 

Eclipse/MyEclipse插件

 

2.0  解压site文件,复制两个文件夹,在eclipse的安装目录下,创建myplugins/svn文件夹

 

dropfin 文件夹下创建 svn.link  文件

 

 path=xxx//myplugins//svn

2.1 EclipseSVN的安装

插件下载地址:http://subclipse.tigris.org/

从中解压出featuresplugins文件夹,复制到dropins中相应目录即可。详细请查看安装文档

Eclipse安装svn插件的4种方式:

http://blog.csdn.net/zhujiaxing666666/article/details/15029011

2.2 Eclipse下使用的图标



1.1 EclipseSVN的基本使用

1.1.1 把项目提交到版本库中(import)

1、在项目上右键—team—share project,选择svn

 

 

2、选择项目关联资源库

 

3、选择项目提交的资源库位置

 

4、输入版本的操作日志

5、提交项目

 

1.1.2 从版本库中下载副本

1import – svn—svn检出项目

 

 

2、选择版本库(资源库)

 

资源库位置,精确到项目http://172.18.5.122:9999/svn/jiyun/ssm_easyui

 

4、项目检出

 

 

 

5、选择项目类型

 

 

6、填写项目名称

 

 

7、点击finish,从资源库check项目到工作空间

 

 

8、项目检出成功

 

 

1.1.3 更新、提交、日志操作

更新:右键--team--更新—-

 

提交:右键—team—-提交

 

日志:右键—team—查看资源历史记录

 

1.1.4 解决版本冲突问题

1、发现冲突(在updatecommit前) 执行该操作

 

 

2、右键team--compare with -–资源库中版本最新的资源内容

 

 

3、编辑冲突文件,然后右键—team—合并文件—然后提交文件即可

 

 

4、右键—team—提交即可

 

Svn—资源库同步

1、右键—team—与资源库同步

 



 



原创粉丝点击