SVN,全称Subversion,分为服务器版本和客户端版本,我们使用的Eclipse SVN插件就是SVN客户端的一种。
Eclipse的SVN插件主要有两种,一种叫做Subclipse(主要支持Eclipse 3.2+ 和 SVN 1.5 ~ 1.8), 另一种叫做Subversive(主要支持Eclipse 3.6+ 和 SVN 1.1 ~ 1.7)。1、在线方式安装SVN插件
最新的Subclipse支持Eclipse 3.2及以上版本(MyEclipse 5.0+、Zend Studio 6.0+),不过官方给出了多个update site URL,用于区别不同的服务器端SVN版本。
update site URL | 支持的最低SVN版本 |
---|---|
http://subclipse.tigris.org/update_1.10.x | Subversion 1.8 |
http://subclipse.tigris.org/update_1.8.x | Subversion 1.7 |
http://subclipse.tigris.org/update_1.6.x | Subversion 1.6 |
http://subclipse.tigris.org/update_1.4.x | Subversion 1.5 |
请根据自己使用的SVN版本选择对应的update site URL,然后参考如何在线安装Eclipse插件。
2、从本地安装SVN插件
由于网络问题,以在线方式安装SVN插件耗时相对较多,你也可以先手动下载Eclipse SVN插件的安装文件,然后在本地进行手动安装。下载完Eclipse SVN 插件后,请参考如何从本地安装Eclipse插件。
update site URL | 支持的最低SVN版本 |
---|---|
site-1.10.4.zip 百度云盘下载 | Subversion 1.8 |
site-1.8.22.zip 百度云盘下载 | Subversion 1.7 |
site-1.6.18.zip 百度云盘下载 | Subversion 1.6 |
site-1.4.8.zip 百度云盘下载 | Subversion 1.5 |
一.在Eclipse里下载Subclipse插件
方法一:从Eclipse Marketplace里面下载
具体操作:打开Eclipse --> Help --> Eclipse Marketplace --> 在Find中输入subclipse搜索 --> 找到subclipse点击install方法二:从Install New Software里下载
具体操作:打开Eclipse --> Help --> Install New Software --> 点击add按钮,输入下载地址:http://subclipse.tigris.org/update_1.10.x,点击OK--> 将Subclipse和SVNKit打勾后,一路next或agree到结束即可(此处由于本人已经安装,因此next是灰色的)
方法三:直接下载subclipse的zip文件
具体操作:百度搜索subclipse-site-1.10.x(看自己想安装哪个版本) --> 解压缩后在eclipse目录下找到dropins文件夹,进入dropins文件夹并新建一个文件夹名为svn,将features和plugins文件夹复制到svn目录下-->重启下Eclipse即可二:上传project到SVN服务器
1.在eclipse中,从show view里调出SVN资源库视图
2.在SVN资源库窗口的空白位置右键选择新建资源库位置
3.填好服务器的地址
4.资源库导入成功,SVN资源库视图下出现导入的资源库
5.新建project
6.写好project的初始版本
7.右键project --> team --> share project
8.选择repository类型为SVN --> 点击next
9.使用已有资源库位置
10.使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有)
11.*选择是否打开synchronize视图
12.右键project --> team --> 提交
13.*选择是否写日志(建议写)
14点击OK --> 上传到服务器成功,此时刷新资源库,资源库下出现上传的project
三:从服务器下载project到本地
1.在资源库视图点击资源库左边的小三角形后出现该资源库下的所有project
2.选择要下载的project右键 --> 检出为
3.*选择是否更改属性(建议使用默认) --> Finish --> 下载成功
四:从服务器更新代码
1.右键项目project-->与资源库同步2.选择打开Synchronize视图
3.与本地代码有不同的服务器代码将显示在Synchronize视图下,双击可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有)
4.将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件-->team-->更新
5.如果出现下图这个符号,则代表本地代码和服务器代码有冲突(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.Java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突)
五:冲突情况的解决办法
冲突情况1:服务器代码和自己代码改动的地方相同
这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。冲突情况2:服务器代码和自己代码改动的地方不同
这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。1、双击冲突文件进入比较视图
2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开
下图为成功将服务器代码复制到本地代码,
3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起
Next:设置工程文件忽略:
在多数项目中你总会有文件和目录不需要进行版本控制。这可能包括一些由编译器生成的文件,*.obj,*.lst,或许是一个用于存放可执行程序的输出文件夹。只要你提交修改,TortoiseSVN 就会在提交对话框的文件列表中显示出未版本控制文件。当然你可以关闭这个显示,不过你可能会忘记添加新的源文件。
最好的避免类似问题的方法是添加参考文件到该项目的忽略列表。这样他们就永远不会出现在提交对话框中,而真正的未版本控制文件则仍然列出。
方法一:
在 Eclipse 中点击菜单 window --> Preferences --> Team --> Ignored Resources
点击 Add Pattern… 按钮添加你要忽略的文件或目录。
方法二:
方发法. 方法二
在Eclipse的导航视图中,选中尚未加入版本控制的文件或目录,右键 --> Team --> 添加至SVN:ignore
方法三:
在资源管理器中,右键一个未加入版本控制文件或目录,并从弹出菜单选择TortoiseSVN →Add to Ignore List,会出现一个子菜单,允许你仅选择该文件或者所有具有相同后缀的文件。
如果你想从忽略列表中移除一个或多个条目,右击这些条目,选择TortoiseSVN →从忽略列表删除。
方法四:
另一个忽略文件的方法是添加这些文件到globalignore list .他们最大的不同是全局忽略列表是一个客户端特性。它会作用到所有的(all)subversion 项目。但只能在pc客户端使用。
Subversion 的忽略模式使用了文件匹配,一种原先在Unix系统中使用meta字符作为通配符的技术。下面的字符有着特殊的意思:
- * 匹配任何字符串,包括空串(没有字符)
- ? 匹配任何单字符
- [...] 匹配任何单在方括号[]内的单字符,在方括号内,一对字符被“-”分隔,匹配任何词汇表(lexically)上在他们中间的字符。例如[AGm-p]匹配任何单个的A,G,m,n,o或者p。
模式匹配是大小写敏感的,这在Windows 平台下会出问题。你可以使用成对的字符来强制忽略大小写。例如,忽略不记 *.tmp 的大小写,那么你可以使用像 *.[Tt][Mm][Pp] 这样的模式。
如果你想要一个官方定义的匹配规则。你可以在关于shell命令行语言的IEEE规范PatternMatching Notation中找到。