2021最新最细致的IDEA集成SVN工具的使用 (入门到精通)

2022-11-02 15:09:52 浏览数 (1)

SVN教程

1、SVN常见操作

  1. 发布项目(share project)
    • 项目组长将本机项目第一次发布到中央仓库中
  2. 下载项目(检出项目check out)
    • 组员将中央仓库中的项目第一次下载到本地
  3. 提交(commit)
    • 将本地修改的内容同步到服务器中(本地 => 服务器)
    • 编写完一个小功能之后、每天下班前一定要及时提交
  4. 更新(update)
    • 将服务器中最新的代码同步到本地(服务器=>本地)
    • 编写功能之前,每天上班前一定要及时更新

2、SVN安装

2.1 svn 服务端

  1. 下载地址:visualsvn
  1. 双击下载的安装程序
  1. 如图步骤安装

2.2 svn 客户端(小乌龟)

  1. 下载地址:TortoiseSVN
  1. 双击安装程序
  1. 安装步骤如图所示

3、配置

说明:服务器端需要提供IP,端口,账号,密码供客户端使用。

3.1 配置ip和端口

Server name的值可以设置为:

  1. 127.0.0.1(只能本地自己访问)
  2. 电脑用户名(只能本地自己访问)
  3. 电脑ip(能够通过ip访问的用户均可)

Server Port使用默认值即可

3.2 新建用户

3.3 新建分组

4、SVN的使用

4.1 新建版本库

  1. 选择Repositories右键,选择Create New Repostiory
  1. 使用默认设置,选择下一步
  1. 设置仓库的名字
  1. 创建仓库
  1. 设置用户访问权限
  1. 创建成功

4.2 导入项目到svn(import)

  1. 复制仓库地址
  1. 找到自己的项目右键,选择TorstoiseSVN,选择导入
  1. 选择上传的位置
  1. 项目导入
  1. 查看是否导入成

4.3 检索项目(check out)

  1. 复制远程仓库中项目的地址
  1. 在本地任意位置检出
  1. 导出项目到本地
  1. 检出成功

4.4 提交代码 (commit)

  1. 选择修改好的文件邮件,选择TortoiseSVN,选择加入
  1. 提交项目
  1. 查看是否更新成功

4.5 更新代码(update)

  1. 在项目任意位置邮件,更新
  1. 查看更新信息

4.6 版本冲突问题

4.6.1 版本冲突的原因

有A、b两位用户同时检索到项目的版本1,然后B先修改了文件并且提交了,然后A提交文件时会发现修改的文件与B的文件有冲突的地方,系统不知道该如何将A提交的文件更新到仓库的项目中。

4.6.2 版本冲突的现象

冲突发生时, subversion会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。

假设文件名是 kingtuns.txt

对应的文件名分别是

  • kingtuns.txt.r101 上次更新版本
  • kingtuns.txt.r102 当前获取的版本
  • kingtuns.txt.mine 自己更新的版本
  • kingtuns.txt 目标文件

同时在目标文件中标记来自不同用户的更改。

4.6.3 场景
  1. A用户检出版本5的项目
  1. B用户检出版本5的项目
  1. A用户修改hello.txt文件并提交

此时仓库中的版本已经变为6

  1. B用户修改项目并提交

B用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行 svn resolved(解决),然后在签入到版本库。在冲突解决之后,需要使用svn resolved(解决)来告诉subversion冲突解决,这样才能提交更新

4.6.4 解决冲突的三种方法
  1. 放弃自己的更新,使用 svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
  2. 放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行 resolved filename并提交(选择文件一右键一解决)
  3. 手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行 resolved filename来解除冲突,最后提交。
4.6.5 解决冲突
  1. 在冲突的文件上右键,选择TortoiseSVN,编辑冲突
  1. 手动处理冲突文件
  1. 提交文件
4.6.6 如何降低冲突解决的复杂度
  1. 当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度
  2. 在提交时,写上明确的 message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
  3. 养成良好的使用习惯每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库

5. IDEA中使用SVN

5.1 配置SVN环境

  1. 进入idea,选择File => New projects Setup => setting for New Project…
  1. 配置svn

5.2 检索项目

  1. 选择VCS,选择Get from Version Control…
  1. Version control选择Subversion,添加仓库中连接的地址
  1. 选择刚刚添加的连接,选择CHECK OUT
  1. 设置项目根路径
  1. 选择项目子路径
  1. 选择1.8 format
  1. 选择在当前窗口打开
  1. 选择ADD
  1. 成功后新增svn按钮

5.3 提交代码

  1. 修改完代码后,点击绿色对钩提交
  1. 添加注释信息,然后COMMIT
  1. 进度条显示提交进度

5.4 更新代码

  1. 选择蓝色箭头更新代码
  1. 默认即可,选择ok
  1. 更新成功

5.5 导入项目

  1. 选择VCS, 选择Import into Subversion…
  1. 配置远程仓库地址
  1. 选择刚刚添加的url,选择import
  1. 选择自己要上传的项目,点击ok
  1. 添加注释,选择ok
  1. 上传成功

5.6 版本冲突问题

  1. 如4.6中相同情况参数冲突
  1. 此时点击更新操作
  1. 手动处理异常
  1. 处理好冲突后选择apply

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180830.html原文链接:https://javaforall.cn

0 人点赞