从零开始SVN(2)--Eclipse、Subclipse、分支开发

   日期:2020-05-18     浏览:94    评论:0    
核心提示:Eclipse使用 SVN 插件插件的选择、安装Eclipse 可以使用的 SVN 插件在市面上主要有两种:Subversive:Eclipse 团队开发的插件Subclipse:Apache 的 SVN 团队开发的插件。博主试过了,2020-3 版的 Eclipse 没有可以用的 Subversive 版本,所以在这里选择安装 Subclipse。Subclipse 的安装在 Eclipse 中的应用市场安装:搜索 Subclipse 并安装,一路默认 next,最后重启 E开发工具

文章目录

      • Eclipse使用 SVN 插件
        • 插件的选择、安装
          • Subclipse 的安装
        • 常规的操作
          • 分享工程(添加)
          • 图标含义
          • 检出
        • 解决冲突
        • 分支开发
          • 概念与作用
          • 创建分支
          • 切换分支
          • 合并分支
            • 分支合并到主干
            • 主干到分支
        • 权限管理
        • 历史记录

相关:从零开始使用SVN(1)–服务端与命令行操作

Eclipse使用 SVN 插件

插件的选择、安装

Eclipse 可以使用的 SVN 插件在市面上主要有两种:

  • Subversive:Eclipse 团队开发的插件
  • Subclipse:Apache 的 SVN 团队开发的插件。

博主试过了,2020-3 版的 Eclipse 没有可以用的 Subversive 版本,所以在这里选择安装 Subclipse。

Subclipse 的安装
  • 在 Eclipse 中的应用市场安装:

  • 搜索 Subclipse 并安装,一路默认 next,最后重启 Eclipse:

  • 创建资源库位置,即配置 SVN 服务器地址:

    • 切换透视图
    • 创建资源库位置
    • 配置 SVN 服务器的 URL 地址
  • 最后我们就可以看到服务器版本库中的内容:

某些文件不纳入版本控制

在 Window->Preferences->Team->Ignored Resources->Add Pattern 进行配置:

常规的操作

基本的操作可以右键资源项目->Team->相关菜单项。

这里就演示下分享工程与检出工程。

分享工程(添加)
  1. 新建一个工程后,工程右键->Team->Share Project

  2. 版本控制工具选择 SVN

  3. 选个一个已有资源库或者创建新的资源库地址

  4. 跳转 Team Synhronize,右键工程进行提交

  5. 服务端便可以看到我们上传的工程

图标含义
检出
  1. 在 Eclipse 中执行 import 操作
  2. 确认资源库位置后,下一步选择工程相应的目录
  3. 避免和本地项目名冲突,改名后 finish 检出项目
  4. 工程项目上右键,将检出的项目转换为 maven 项目

解决冲突

检出后本地有两个项目,相当于多个用户,而制造冲突与前文的方法类似,这里不再赘述。
冲突的产生

文件过时:

更新文件后出现冲突:

解决冲突

  1. 冲突文件->右键->Team->Edit Conficts(编辑冲突)
  2. 在界面编辑框中修改至满意后关闭界面(save)
  3. 冲突文件->右键->Team->Mark as merged(标记已合并/标记为已解决)

    编辑后选择第一个,未编辑过则可以按照需要选择其他项。
  4. 最后提交

分支开发

概念与作用

前文介绍的不使用分支是多人之间的协作,而分支开发是团队或小组间的协作。
在版本控制过程中,可以通过多个分支同时推进项目多个不同功能的开发,任何一个分支上功能开发失败都不会对其他分支造成影响。

创建分支

相关目录

  • trunk:主干
  • branches:分支
  • tags:存放项目开发过程中的里程碑代码

在创建分支之前,需要在版本库中创建相关目录:

创建代码分支

先创建一个工程,添加到 trunk 中

项目->右键->Team->分支/标记

一路 next->finish。

切换分支

项目->右键->Team->切换

最终:

合并分支
  1. 创建两个分支内容:

  2. 项目->右键->Team->合并

    将某个分支或主线上提交的多个revision间的变化合并到另外一个分支上

分支合并到主干

Merge a range of revisions方式

主干项目右键合并,选择 Merge a range of revisions 方式

  • form 选择需要合并的分支

  • 本地的主干会与该分支合并,然后将本地的主干提交

Merge two different trees方式

主干项目右键合并,选择 Merge two different trees 方式

合并的时候以选择的分支版本为主,如果选择的主干版本与分支版本有不同的地方,合并时主干部分将被删除

  • from 选择主干,需要找到最后一次同步时的版本,如果从没有同步过(第一次合并),则选择创建分支时的版本。
  • to 选择要合并的分支,使用分支最新版本就行了。

由于前文主干与pay分支合并后有新的文件,所以主干需要选择之前的版本

本地的主干会与该分支合并,然后将本地的主干提交:

主干到分支

主干与分支同步开发,需要将主干新增与修改同步到分支中来。

Merge a range of revisions方式

直接选择主干的最新版本即可:

如图,本地的pay分支同步到了主干与Skin分支合并后的文件 Skin.java 以及新建的文件 Main2.java:

Merge two different trees方式

  • from 选择分支最新版本
  • to 选择主干最新版本

如图,本地的skin分支同步到了主干与pay分支合并后的文件 Pay.java 以及新建的文件 Main2.java:

权限管理

之前我们有在版本库中的 svnserve.conf 文件,修改过权限,使我们匿名的进行读写。

anon-access = write

//auth-access = write

//修改为如下

anon-access = none //设置后可查看历史记录

auth-access = write

还可以加入如下配置,指明配置文件:

password-db = passwd //指定设置用户名密码文件

authz-db = authz //分配权限的配置文件

之后我们就可以通过修改 passwd 文件设置用户名密码,以及通过 authz 文件进行权限的分配:

passwd 文件

//官方的示例:

[users]

harry = harryssecret

sally = sallyssecret

//格式:用户名 = 密码

//以下用于测试

tom = 123456

jerry = 123123

authz文件

//官方的示例

[groups]

harry_and_sally = harry,sally

harry_sally_and_joe = harry,sally,&joe

//格式:用户组 = 用户,用户

//以下用于测试

mygroups = tom //用于测试

//======================================================

//官方例子

[/] //目录

harry = rw //格式:用户名 = 权限值

&joe = r //格式:@用户组 = 权限值

* = //除了授权的用户以外其他用户没有任何权限

//以下用于测试

@mygroups =rw

jerry = r

* =

保存以上的配置后,eclipse中重新连接就会需要我们输入用户名密码:

使用 jerry 用户登陆,之后我们修改任意文件进行提交,就会出现权限不够的错误:

而删除登陆过的用户信息,需要到如下目录的auth中删除相关文件:

C:\Users\MOKE\AppData\Roaming\Subversion\

最后我们测试 tom 用户,删除信息重新提交文件,会提示重新登陆:

提交成功:

历史记录

查看历史记录

项目/文件->右键->Team->显示资源历史记录(Show History):

回到某一个历史记录

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服