svn的使用手册

2023-11-16

svn的使用手册

svn介绍

  svn(Subversion)是一种开源免费的项目管理工具,由于软件开发是一项团队活动,需要对团队成员的活动进行记录,以及对版本进行维护,因此有了svn这里项目管理工具,当然市面上有更好的git,学习这个就是多点一个技能点。

安装svn

安装VisualSVN-server

  下载地址

  VisualSVN Server集成了Subversion和Apache,省去了很多配置的步骤,其中在安装的时候SVN Server已经封装为Windows中的系统服务,并且服务器中的各种配置,也提供了图像界面的方式。
安装时遵循默认配置即可

安装TortoiseSVN

  下载地址
安装时遵循默认配置即可,还可以安装对应的中文安装包。

安装EclipseSVN插件

  Help -> Eclipse Marketplace -> 搜索Subversion 4.3.0版本 -> 点击安装,下一步下一步即可

使用SVN

  1. 在开始栏目搜索VisualSVN Server Manager,在这里进行操作
  2. 创建用户,右键user -> create users -> 输入账户名和密码。用户用于管理权限。
  3. 创建仓库,右键Repositories,一直下一步即可,普通的项目使用Empty Repository即可,有分支的项目使用Single-project。右键新建的仓库,点击Properties,即可配置用户的权限。
  4. 使用TortoiseSVN对项目进行管理,先复制项目地址,右键仓库,copy URL to Clipboard。新建一个空文件夹,右键 -> SVN检出,粘贴URL,确定,即可复制下仓库的内容。在文件夹中新建几个文件夹和文件,右键 -> SVN提交,即可将内容更新到仓库。右键TortoiseSVN -> 设置 -> 图标集合查看图标对应的信息。

Eclipse下使用SVN

  1. 设置Eclipse默认只提交src下的文件。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mJoRh792-1638411052548)(svn使用手册/g1.png)]

  2. 初始化项目到服务器仓库中,右键项目-> Team -> share Project -> 粘贴资源库位置 -> finish。右键项目 -> Team -> 提交。

  3. 删除项目测试,从SVN中导出,一直下一步即可,注意,在选择检出方式,勾选作为工作空间中的项目检出,

    在这里插入图片描述


    选择项目地址选择使用缺省工作空间

    在这里插入图片描述

    这时检出的项目环境不对,因此不可以直接运行,给项目配置工作环境。
    在这里插入图片描述


    在这里插入图片描述

  4. 还原修改的文件(在提交之前)
    在这里插入图片描述

  5. 显示注释
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  6. 显示某个文件的修改历史
    在这里插入图片描述


    在这里插入图片描述

  7. 切换到某个历史版本
    方式1:
    在这里插入图片描述


    方式2:
    在这里插入图片描述


    在这里插入图片描述

  8. 查看资源库
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  9. 断开连接
    右键Team -> 断开连接

    在这里插入图片描述


    在断开的时候,选择的是直接把SVN的信息都删除了,那么如果还想连接的话,最好的重新检出一份。

合并冲突

注意,只有你在看的文件版本和服务器中的版本一致,此时修改了文件提交才能成功!

  1. 冲突产生的原因
    在这里插入图片描述

  2. 产生冲突
    当Eclipse中的版本和服务器中的版本不一致,且修改了同一处地方,产生了冲突。
    在这里插入图片描述


    此时,还会列出三个文件:产生冲突时,版本7的内容、版本8的内容、还有我们自己的内容:
    在这里插入图片描述

  3. 解决冲突
  • 方式1
    将两份冲突的代码合并
    在这里插入图片描述


    注意,左边是当前要提交的代码,右边是服务器中的代码,可以将右边的内容自动复制到左边,注意,也可以直接在代码中进行修改,不使用这个编辑冲突的界面也是可以的
    在这里插入图片描述


    将冲突标记为已解决。
    在这里插入图片描述


    在这里插入图片描述


    提交代码。
  • 方式2
    直接使用我的版本
    在这里插入图片描述


    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HayjheTc-1638411052590)(svn使用手册/g26.png)]

  • 方式3
    直接使用服务器的版本
    在这里插入图片描述

  • 方式4
    使用上一个版本
    在这里插入图片描述

分支

在SVN中,还有三个概念:主干、分支、标记

  • 主干(trunk),产品代码作为一个主干,主干上一般不修改代码,只做合并
  • 分支(branch),从当前主干复制出一个分支,主要用来修复bug、开发新功能等,任务完成并测试稳定后,需要把代码合并到主干上
  • 标记(tags),当前主干上的代码达到了一个阶段,并足够稳点,可以作为有个里程碑式的版本,这时候从主干上复制出一个版本,称为标记(tags)
  1. 创建带分支结构的svn仓库
    在这里插入图片描述

  2. 创建一个项目,将项目关联到trunk目录(主干),并提交。
  3. 创建分支
  • 创建分支
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  • 切换回主干
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  • 在分支中完成编码后提交并切换回主干
  • 合并
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  • svn在主干合并分支之后需要手动提交
  1. 标记
  • 创建方式与分支一致。
  • 标记是真正要发布的版本,不会被修改,用v标记。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

svn的使用手册 的相关文章

  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • 使用 ANTLR 为 java 源代码生成抽象语法树

    如何使用 ANTLR 从 java src 代码生成 AST 有什么帮助吗 好的 步骤如下 前往ANTLR站点 http www antlr org 并下载最新版本 下载Java g和JavaTreeParser g文件来自here htt
  • Convert.FromBase64String 方法的 Java 等效项

    Java 中是否有相当于Convert FromBase64String http msdn microsoft com en us library system convert frombase64string aspx which 将指
  • java中删除字符串中的特殊字符?

    如何删除字符串中除 之外的特殊字符 现在我用 replaceAll w s 它删除了所有特殊字符 但我想保留 谁能告诉我我该怎么办 Use replaceAll w s 我所做的是将下划线和连字符添加到正则表达式中 我添加了一个 连字符之前
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它

随机推荐

  • vue-quill-editor 可选择字体配置

    vue quill editor 可选择字号配置 用到quill的组件内部 import quillEditor Quill from vue quill editor import quill dist quill core css im
  • 怎样监听音频播放完毕?

    非常简单 获取当前点击的音频的DOM元素myAudio myAuto addEventListener ended function myAuto pause alert 播放完毕 2 监听ended事件
  • 请求端nginx修改X-Frame-Options

    location dashboard db proxy hide header X Frame Options 忽略返回头的X Frame Options add header X Frame Options SAMEORIGIN alwa
  • windows认证&密码抓取

    文章目录 基础知识 windows版本历史 一 工作组部分 密码存放在哪里 NTML Hash windows本地认证 windows网络认证 NTML v1与v2 二 域部分 kerbero协议 白银票据 黄金票据 windows密码导出
  • Arduino-VScode-Platformio离线安装,99%成功!

    视频教程链接 https www bilibili com video BV1g34y1p7Fu 1 优点 1 完全离线安装 过程不需要联网 解决新建项目慢 编译慢的问题 2 解决Platformio不支持特殊路径的问题 比如中文 空格等
  • 前端页面点击姓名查看详情

    前端页面点击姓名查看详情 field realName width 120 title 姓名 templet realName function realName d return div a href class layui table
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:361-380)

    第361题 如图所示是一台路由器的BGP输出信息 那么以下关于这段信息的描述 错误的是哪一项
  • java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation --已解决

    执行SonarScanner MSBuild exe end 向sonar平台上传报告时 报错 ERROR Error during SonarScanner execution java lang UnsupportedClassVers
  • 【opencv】error: (-215:Assertion failed) ssize.empty() in function ‘cv::resize‘报错原因

    这两天连续两次遇到这个问题 于是决定记录一下报错原因 1 路径有问题 路径中不能出现中文 相对路径应该改为绝对路径 路径之间应该用 而不是 2 读取的文件夹中存在不合规范的图片 我的文件夹中因为混入了一个json文件而读取失败 此时应该添加
  • 华为服务器cpu是否支持虚拟化,处理器配置 - 华为服务器 Brickland平台 BIOS 参数参考 30 - 华为...

    处理器槽位 处理器插座序号 RH8100 V3服务器的本页面与其他服务器有以下区别 单系统模式时 处理器槽位 显示为 槽位1 槽位8 双系统模式时 系统 A 的 处理器槽位 显示为 槽位1 槽位4 双系统模式时 系统 B 的 处理器槽位 显
  • cache是什么?作用是什么?位置在哪?

    文章目录 博文01 博文02 博文03 参考 01 https wenwen sogou com z q654876765 htm 02 https zhidao baidu com question 7859370 html 博文01 高
  • python水仙花数

    题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 def narcissus narcissus number grou
  • 设计模式中的五大原则

    设计模式是一种思想 是智慧的结晶了 它有利于我们快速构建高效 模块化 高扩展性的代码 这种思想不仅仅在c 中有 c代码中也是有很充分的使用 设计模式是前提 是重中之重 那比它更重要的是什么 是原则 面向对象设计五大原则 1 单一职责原则 S
  • 爬虫用拨号好还是HTTP爬虫ip池好?

    程序员小伙伴们 在进行爬虫时 你是否曾纠结于选择拨号还是代理 不要犯愁 今天我将与你分享一些实用的择优技巧 帮助你在爬虫之路上实现更高效的提速 一 拨号和HTTP爬虫ip的优劣势分析 1 拨号 优势 拨号具有动态HTTP的特点 每次拨号连接
  • ajax加载aspx页面,如何使用jquery ajax显示来自aspx页面的响应

    我使用ajax jquery来请求aspx页面 并且此页面显示GidView 因此响应将是网格视图的html代码 并且我将响应添加到DIV以显示结果 当我在第一次发出请求时正常工作 但第二次没有从响应中添加任何内容 尽管存在要绑定的数据 如
  • git 仓库迁移

    git 仓库迁移 文章目录 git 仓库迁移 在目标服务器建立新的git 功能仓库 设置git 仓库源 上传代码 验证是否成功 git远程仓库地址查看 在目标服务器建立新的git 功能仓库 git VM 0 5 centos git ini
  • MySQL中的IF语句使用

    MySQL中的IF语句 在 MySQL 数据库中 IF 语句是一种常见的条件控制语句 它可以根据指定的条件返回不同的结果 在本文中 我们将介绍 IF 语句的基本用法以及实际应用场景 IF函数 MySQL 提供了 IF 函数来实现 IF 语句
  • xcode4的自动完成功能(Code sense or Code Snippet)

    社区会员rainbird分享 自动完成包括两种含义 一种是输入字母的时候可以动态弹出一个列表 然后通过选择 提高输入效率 这种好像叫代码提示 Code sense 另一种就是输入几个字母的时候一回车 出来一串儿字符 Code Snippet
  • 把一个对象 转为JSON格式的方法

    List
  • svn的使用手册

    svn的使用手册 svn的使用手册 svn介绍 安装svn 安装VisualSVN server 安装TortoiseSVN 安装EclipseSVN插件 使用SVN Eclipse下使用SVN 合并冲突 分支 svn的使用手册 svn介绍