Eclipse下SVN工具使用
目录:
1、SVN:
A)安装SVN工具:
B)上传项目:
C)下载项目到本地:
D)从服务器更新代码:
E)查看修改文件的历史版本:
F)还原项目:
H)合并文件:
G)已上线项目出现bug要修改:
2、Eclipse中怎么修改默认的author名?
3、乐观锁、悲观锁
1、SVN:
(1)简介:
SVN是版本管理工具,进行团队项目开发时,项目代码保存在服务器上,成员可以用SVN在本地获得并更新代码。
(2)在eclipse上的使用说明:
A)安装SVN工具:
①首先在Window→show view→other上输入搜索“SVN”,查看eclipse是否已经下载安装好,已存在SVN工具;
②若不存在,Help→Install new software,弹出对话框中点击“add”,输入网址http://subclipse.tigris.org/update_1.10.x进行下载;
图1.1 安装操作
③只需将Subeclipse的选项勾上,然后点击Next,直到Finish;
④右上角有个+号“open perspective”,添加SVN资源库研究。或从Window→show view→other上输入搜索“SVN”,点击“SVN资源库”,调出SVN资源库视图;
⑤右键选择“新建资源库位置”,输入服务器的IP地址。
B)上传项目:
①回到Java EE视图,右键待共享的项目,“Team”→“Share Project”,在弹出的窗口“select a repository type”中选中SVN,根据提示操作;
②在弹出的“Team Synchronizing”页面中,将左边src目录下的src开头的文件及文件夹全部选择“提交”,留下“.setting”文件夹,“.classpath”文件以及“.project”文件;
图1.2 上传操作
③“.setting”文件夹,“.classpath”文件以及“.project”文件右键选择“添加至SVN :ignore”;
图1.3 上传操作
④此时SVN资源库下出现了上传的工程。
图1.4 上传操作
C)下载项目到本地:
①在“SVN资源库”视图中,右键待下载的项目,选择“检出为”;
图1.5下载操作
②在Java EE视图中找到下载的项目,项目旁边带着“*”号,右键“Team”→“与资源库同步”,在显示列表的文件中右键选择“添加至SVN :ignore”;
③项目下载成功
图1.6 下载操作
D)从服务器更新代码:
①任意修改文件,修改后未提交则会在项目旁显示“*”号;
图1.7 更新操作
图1.8 更新操作
②右键项目,点击“Team”→“提交”,则更新成功。
E)查看修改文件的历史版本:
①右键文件,“Team”→“显示资源历史记录”;
图1.9 查看历史操作
②双击即可查看的历史文件。
F)还原项目:
①右键文件,“Team”→“还原”,即可将本地已修改的文件还原为服务器上初始的文件。
G)已上线项目出现bug要修改:
①若是已上线的版本中出现了bug需要修改,将已上线版本导到branches中,具体操作:右键已上线版本,选择“分支/标记”,将其导入到“branches”文件夹中。
H)合并文件
①将主干文件中的修改同步合并到分支。主干文件右键“Team”→“合并”,合并后有冲突的地方会如下显示。合并时不要勾选“Perform pre-merge best practices checks”;
图1.10 合并操作
(3)在SVN研究库研究中,右键,点击“新建”→“远程文件夹”,建立三个文件夹,“branches”,“trunk”,“tag”。
将原来的项目右键“重命名/移动”,选择trunk文件夹,将其导入其中。
右键“检出为”,将其导出到本地,若一导出项目旁边就出现了“*”号,右键项目,选择team,选择“与资源库同步”,选中“添加至SVN :ignore”。
(4)SVN至少应该有三个文件夹,branches,tag,trunk
Tag:标记,记录已上线的版本,tag文件夹里加入版本号文件夹,在其中加入已发布的系统。
Branches:分支,包括一些子目录分别对应各个分支。
Trunk:主干,该目录下直接存放工程文件。
2、Eclipse中怎么修改默认的author名?
①菜单栏Window→Preferences→Java→Code Style→Code Templates→Commons→Types
②点击右上角Edit
③将@author${user}中user改成想要的author名即可。
3、乐观锁、悲观锁
乐观锁与悲观锁是用于解决并发问题的,即在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这就会产生冲突。
(1)悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。
(2)乐观锁:假定不会发生并发冲突,只是在提交时检查是否违反数据完整性。乐观锁不能解决脏读的问题。
(3)乐观锁实现:
①使用数据版本记录机制;例如有一数据版本为version1,当有不同的业务操作A、B对此同一版本的数据进行修改时,那么,先提交的操作B会把数据version更新为2,当A在B之后提交更新时发现数据的version已经被修改了,那么A的更新会失败。
②使用时间戳。通过时间戳对比,时间不一致则冲突。
(4)悲观锁实现:比如SQL Server的排他锁。