多人开发SVN版本控制工具安装
来源:互联网 发布:javascript阶乘算法 编辑:程序博客网 时间:2024/06/06 00:13
1、 Beyond Compare
这是一个方便进行文件之间差异对比的工具,可以方便的对文件中的内容进行合并,甚至是文件夹中的内容也可以进行差异对比
直接点击安装即可,除了选择性修改安装路径,其它默认下一步即可
此时,安装完毕后,点击BeyondCompare图标,打开BeyondCompare
做如下设置
下面就可以开始对两个文件进行比较了:
该工具是基于二进制进行比较的,如果两个文件的内容完全相同,那么它们的二进制也完全相同。这时就无需进行比较,会弹出如下提示框
如果文件内容不相同则可以进行比较
例如将上面的第二句话合并到右边,当合并完所有内容后,关闭时要注意保存,
另外注意:成段代码进行合并时,除了借助工具,还应该借助人眼观察,工具毕竟是工具,不一定能保证完全的正确性,可能一不小心,代码就被弄残了,切记切记!!
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。——来自度娘
2、 MyEclipse中安装svn插件——可以在MyEclipse中使用svn
将site-1.6.18中的两个文件夹都拷贝到MyEclipse安装目录对应的dropins文件夹中(xml文件不需要拷贝),如图所示:
拷贝完毕后,重启MyEclipse,进入MyEclipse以后,点击菜单栏上的Window-Show View-Other
在弹出框中输入svn,如果能搜索到下面与svn相关的信息,则说明MyEclipse中的SVN插件安装成功(安装完后待用!)
3、 安装Tortoise SVN客户端——可以直接在操作系统中使用svn,可以配合前面的MyEclipse中的SVN插件一起使用
解压TortoiseSVNchs_xdowns.rar,执行其中的安装程序,只需要选择性的改变安装目录即可,其余步骤只需要下一步即可,安装完毕,点击完成,最好重启计算机。
现在随便右击一个文件,出现一个小乌龟的图标,就说明安装成功(安装完后待用)
4、安装VisualSVN-Server服务端(只需要小组长安装即可)
之前无论安装的svn插件还是svn客户端,都相当于是一个svn的客户端,只是负责给用户提供一个图形用户界面,让用户来执行一些例如代码提交或更新的操作,但是光有客户端不行,代码存在哪里?当然是存在服务器上,该工具就相当于是一个代码服务器,开发小组所有的代码最后都在这个服务器上,方便今后的版本控制以及代码管理。
点击VisualSVN-Server-2.6.4.msi进行安装,安装过程相对其它几个工具稍微复杂一点
1、第一步直接点击继续
2、 勾选接受
3、保持如图的选项,点击下一步
3、 点击红框显示的部分
4、 配置代码库路径以及端口号,注意将图中复选框前面的勾去掉,按如下配置配置完毕后,点击下一步
5、 点击Install进行安装,最后点击finish完成即可
5、VisualSVN Server——小组长负责完成即可
(1)添加用户,小组长负责为每一个小组成员(包括自己)创建个人的svn用户
此时就多出了名为zhangsan的用户,如果点击set password可以对用户的密码进行修改
以此类推,将小组中其它成员的svn账户也创建出来
(2)添加小组
小组中包含若干个用户,类似于Oracle中的角色,一个角色可以有多个用户,在这里,一个小组也可以有多个用户
点击CreateGroup创建小组
可以点击Add按钮将用户添加到对应的小组中去
如此就创建了小组1
(3)创建代码分支
点击Create New Repository进行创建
设置分支名字,点击下一步
这一步,保持默认即可,再点击下一步
这一步,也保持默认即可,点击create
这时,会产生一个URL,接下来所有小组成员就可以通过这个URL来进行代码的提交或更新操作,点击完成即可
选择刚才创建的资源库Copy URL toClipBoard
桌面上任意地方右击鼠标,选择Repo-browser,输入刚才从VisualSVNServer中拷贝的地址,点击确定会要求输入用户名密码进行身份验证,可以输入任何具有权限访问该路径的svn用户信息(组员,小组长都可以)
小组长将此次开发的框架直接拖拽到该目录下,这个就是小组的开发框架,所有成员的修改都将对其产生影响
然后复制地址到剪切板,会得到例如如下结果(根据主机不同,和一些设置不同,可能会得到不同的URL),例如;
http://Niit1-100:8181/svn/SSM/SSMFramework/SSMFramework
把这个URL发布出来,小组成员根据这个地址将代码检出到本地(详见下面第6大块)
6、SVN的使用
1、现在MyEclipse中将项目导入进去
2、上面输入svn,下面选择从svn检出项目
这一步的URL中输入第五大步中小组长来的URL地址,点击next
选中红框标出来的部分,点击下一步
为了避免和工作空间中已有的项目重名,这里可以对项目的名称进行修改
下面操作中只需要再点击next和finish即可(这里会要求输入用户名密码,直接输入自己对应的svn用户名密码即可,不要输入其他人的),代码检出完毕后,得到如下的项目,接下来的开发工作,全部围绕这个项目展开!!!!!!!
先看几个符号:在MyEclipse中,如果用黑星标记,就说明有与代码库不同步的地方,如果是问号,说明,在代码库中没有该资源,默认情况下,前面显示的是一个数据库的符号,表示同步(当然也有可能不是同步的,因为客户端的svn没有去检查是否同步,这样开销太大了!)
由于MyEclipse中的svn插件和外部小乌龟svn是共通的,因此,在eclipse中的同步情况,在外部也可以通过小乌龟来查看,如果不同步,前面就会打上感叹号。如果资源库不存在该资源,则显示问号,同步就显示对勾(当然也不一定就是同步,因为它也不会自动去检测代码是否同步)
常用操作
(1) 新增资源
MyEclipse下:
小乌龟:
先ADD
再commit
(2) 删除资源
用小乌龟删除,先delete,操作完这步以后实际上并没有将它从代码库真正删除
还要执行提交操作,先选择要删除的文件,然后点击ok(当然也不要忘记写注释)
这这时候文件才会真正从代码库被移除
(3) 直接提交(对于同一个文件,如果有两个人同时在修改,假设另一个人修改没有提交,此时第一个人需要提交,则可以直接提交,相当于都是一个人完成的)
提交时可以按照如下步骤进行提交
提交代码的过程,实际上是将你的部分整合到服务器上目前的最新版本上去,所以要先进行同步,取到服务器上最新的代码,但是同步到服务器代码以后,就会覆盖你修改的部分,因此在同步前先留下副本
此时先进行同步,先回到修改前的状态
再和服务器进行同步
此时将服务器上的最新版本与留下的副本使用BeyondCompare进行对比,并合并代码,注意是将副本中的代码合并到最新版本中去,合并完毕,删除副本。提交代码。
如果上述过程中提示过期,提交失败,说明在你提交之前有人已经进行了提交,此时需要重新进行同步
(4)遇到冲突怎么解决
例如现在李四使用自己的账号提交了一段代码
张三在不知道李四修改了代码的情况下,以为自己改完后直接提交就可以了,其实此时再提交就会出现问题(因为这这两个版本产生了冲突),处理办法和前面一样,先复制你修改的副本,然后更新到同步服务器上的最新版本,将两者进行比较,这时只需要将你修改的地方合并进去,如果有些地方不是你修改的,就不要乱动(乱动当心被打死!!)
(4) 更新
如果用户A修改了代码,用户B也修改了代码,此时进行了更新,就会出现问题
更新时可以和前面一样,留下自己的副本,然后本地代码更新至最新版本,将本地代码和副本进行对比,如果要将自己副本中的某些信息合并到最新版本就进行合并,最后将合并后的版本进行提交
项目期间,每天的第一件事:同步代码,取代码库最新的代码进行第二天的开发任务,每次对代码库中代码的修改都要加上说明(无论是使用插件提交还是小乌龟提交)
同步时千万不要直接全选,然后随便点一个提交,更新等等
根据不同的符号有不同的意义,需要做不同处理:
Svn刚开始使用,很容易误操作,不是更新错了,就是把别人代码覆盖了,慢慢就会好的,需要一个过程。
- 多人开发SVN版本控制工具安装
- 版本控制工具SVN的安装
- 0001-版本控制工具SVN安装配置
- 版本控制工具-SVN
- 版本控制工具-SVN
- SVN版本控制工具
- SVN版本控制工具
- 版本控制工具--svn
- SVN 版本控制工具
- 版本控制工具SVN
- SVN版本控制工具
- svn版本控制工具
- 版本控制工具SVN
- [开发]SVN版本控制
- SVN版本控制工具的安装和配置
- (转载)【版本控制工具】svn服务器、客户端安装配置
- svn版本控制工具的安装和配置
- 版本控制工具之一:SVN的安装与使用详解
- Android_补间动画
- 去除有道7.3底部广告栏
- maven安装,与eclipse搭建步骤
- PHP常用字符串函数
- hashmap工作原理等
- 多人开发SVN版本控制工具安装
- 二叉查找树——懒惰删除
- MySQL(八)之DML
- SVN之使用之注意要点
- oracle数据库合并行记录,WMSYS.WM_CONCAT函数的用法
- 【JS】类型检测
- MySQL总结—基础篇(一)
- SPOJ QTREE3 Query on a tree again! 树链剖分
- Android_webview之加载网页