SVN概念及简介
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统
的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终
集中式的管理。
SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。
SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客
户端软件。前者需要Web服务器的支持,后者需要用户在本地安装客户端,两种都有免费
的开源软件供使用。SVN存储版本数据也两种方式:BDB(一种事务安全型表类型)和FSFS
(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,
所以还是FSFS方式更安全一点。
版本控制
一个软件开发试行后,最关键的问题就是能够有效的实现软件版本系统的控制,而作为版本控制系统的核心任务,能否完成成功的查阅历史操作记录和实现协同开发才是公司研发团队关注的问题。版本控制(Version control)是项目开发与管理的标准做法,能追踪项目从开始到结束的整个过程,常被应用于软件程序开发。对编程人员而言,版本控制技术是团队协作开发的桥梁,有助于多人同步进行大型程序开发。由于在多人协作开发的模式下,每个人都向服务器提交自己的文件,就可能存在着代码被多次修改、替换的风险,但是版本控制能够在每次更新操作后进行相应的记录。一旦发生误操作,开发者能够根据服务器中的版本记录,将项目恢复到出现问题之前的其他版本。因此,借助版本控制技术,软件开发项目可以被分割为若干模块,每个模块并行地进行开发工作,从而有效地提高了整体编程效率。
版本控制技术对文件进行管理主要有两种模式:Lock-Modify-Unlock(锁-修改-解锁)和Copy-Modify-Merge(拷贝-修改-合并)。
大多数版本控制系统采用的是第二种方式,如Concurrent Versions System(CVS)和Subversion(SVN),而这其中SVN是最为流行的版本控制软件,许多开源软件都采用了SVN作为源码版本控制服务器。在SVN版本控制软件的管理下,不管是在局域网还是在Internet上都可以对文件和目录进行管理,它突破了时间与空间的限制,促进了团队协作开发
svn服务器安装
网址:可官网下载
https://www.visualsvn.com/server/download/
第一个用于eclipse继承
第二个单独的svn客户端
第三个视图化的svn服务端
安装VisualSVN (组长 ) svn可视化工具
1.安装VisualSVN-Server-3.9.1-x64.msi
直接安装即可,注意仓库。
2、在repositories右键创建仓库
3、在users上可以创建用户,可以访问对应的仓库
4、点击“test”右键,可以查看到仓库地址
5、粘贴该地址,在浏览器可访问,配置过的用户才可以访问
eclipse集成SVN(组员组长)
1、将svn-eclipse的集成插件copy到eclipse的安装目录下的dropins
2.重启eclipse
Project–>Properties–>svn
常见操作
导入/检入
指的就是将本地的工程上传到svn服务器中
1、项目邮件->team->share project->svn
注意路径为VisualSVN 里的
当出现svn url “********************”is not properly uri-encoded错误,是因为是在浏览器中粘贴出来的地址到eclipse中,咱们是需要从svn服务器中粘贴
目前并未将项目代码提交到服务器中,还要将项目导入到svn服务器中。
导出/检出(next就好了)
提交 (右键Team)
更新(右键Team)
解决冲突
提交失败
更新,会产生三个零时文件
点击右键,编辑冲突
改了之后如下,然后将其关闭
标记为已解决
提交
? 代表代码不被svn服务器所知道,不知道就不管理
* 与svn服务代码不一致了,那么你需要提交或者更新代码
黄色小桶 与svn服务代码保持一致了
版本冲突
注意
?:代表repository没有管理文件夹或者文件
黄色小桶:代表repository管理了文件夹以及文件
*:管理的文件已经有所改变,未与服务器同步
团队开发必须在同一个局域网中。
保证彼此机器之间正常数据交互。
Ipconfig /ping ip