您的位置:首页 > 其它

开发工具-SVN

2015-08-27 10:51 337 查看
在日常的开发中,代码管理工具是我们最常用的软件之一,目前常见是有CVS/SVN等,但CVS已经过气,被SVN替代。CVS没有用过,也不知道哪里比较烂。

那么我们为什么要用这个SVN呢?逆向思维想一想,如果不用SVN回怎么样?

1)在超过1个人的开发团队里,代码管理会相当混乱。

2)多版本备份,严重占用磁盘空间。

3)代码冲突,多人开发简直是不可能完成的

4)没办法追溯代码修改人

5)无法恢复

6)没办法进行权限控制

下面就详细讲解一下SVN

SVN概述

下面是SVN是网上关于svn的架构图



SVN的安装

1.SVN的组件

服务器组件:(管理员用)

svnadmin:调整和管理档案库的工具

svnserve:提供对外访问的服务

客户端组件:(我们用)

svn:客户端命令

2.都阿帕奇svn官网下载相应版本的svn安装文件.

3.创建svn仓库

1)创建一个本地文件夹,例如

d:/svn/svn_repository


2)利用svnadmin命令添加该文件夹为svn仓库


SVN_HOME/bin/
svnadmin create d:\svn\svn_repository


此时,该目录下已经产生了很多文件




3)启动svn服务

svnserver -d -r d:\svn\svn_repository


此时,svn服务就可以对外发布了。

SVN的客户端操作

1.从仓库中检出数据到本地

svn checkout svn://localhost/svn_repository


2.将本地文件纳入到svn版本控制


svn add HelloWorld.java


3.提交本地资源到svn

svn commit -m '注释' HelloWorld.java


4.删除与恢复

svn delete HelloWorld.java
svn revert HelloWorld.java


TortoiseSVN客户端的使用

通常情况下,公司内部会有一个统一是SVN服务器,服务器上有一个仓库用于代码管理,下面以我个人在阿里云上的svn仓库为例简单介绍一下TortoiseSVN的使用。

1)首先利用Repo-browser来浏览svn服务器上的文件



然后输入svn服务地址



然后就能看见svn上的可见文件夹



2)选中要下载的文件夹,右键选择check out,下载到本地



绿色的对号标识 标识当前本地文件是svn上的最新版本。

3)新建文件并 添加到svn的版本控制

例如在本地目录中新建一个HelloWorld.java

右键点击该文件选择TortoiseSVN的add选项,此时该文件就已经纳入到了svn的管控范围。

4)修改并提交

当该文件被修改后,文件上的图标会变成红色的叹号



然后在右键选择commit将最新版本提交到svn。注意,每次提交时都要表明修改说明。

在日常开发中,主要的操作步骤是

1.在一天的开发结束后,先执行update操作,把同组人提交到svn上的最新代码更新到本地

2.提交自己的代码。

这样既能保证本地的代码是最新的,又能保证svn上的代码是最新的,实现高效的团队开发,而不是手动拷贝多个副本。

5)代码冲突及解决办法

代码冲突的场景描述:

user1更改了xml,并提交给服务器。user2在原有的xml中也做了更新,也提交服务器,发现提交时版本过时,此时user2做了更新操作,冲突发生了







解决办法:









主要遵循commit前先update的原则就不会出现代码冲突。

Eclipse中使用SVN

1)Eclipse中的插件安装

SVN的Eclipse插件下载地址http://subclipse.tigris.org(eclipse_svn_site-*.zip)

解压到一个文件夹中,比如c:\svnplugin

安装成功后,会在eclipse透视图中看到svn选择



然后,在myeclipse的java视图中,对需要操作的文件点击右键->team,就能看到对应的操作了。



TortoiseSVN的图标说明



使用svn的注意事项

1.经常更新:降低冲突的可能性

2.提交前需在本机测试通过:降低将问题代码传到版本库

3.提交时一定写备注:方便其他员工查看和自己以后回顾

4.对于不需要提交的文件不要提交到版本库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: