在日常的开发中,代码管理工具是我们最常用的软件之一,目前常见是有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.对于不需要提交的文件不要提交到版本库
版权声明:本文为博主原创文章,未经博主允许不得转载。