TortoiseSVN的使用
基本概念
版本库
SVN保持数据的地方,所有的文件都保存在这个库中,Tortoise访问的就是远程服务器上的Subversion版本库。
工作拷贝
就是工作副本,可将版本库的文件拷贝到本地中,可以任意修改, 不会影响版本库。在你明确地做了特定操作(如commit/conflict)之前,Suvbversion不会把你的修改和其他人的合并,也不会把你的修改展示给别人,你甚至可以拥有同一个项目的多个工作拷贝。通常你的工作拷贝下都有一个以.svn命名的文件夹。
修订版本
当工作拷贝进行提交,版本库接受提交,版本库的内容就会变成工作拷贝的内容。 每当版本库接受了一个提交,文件系统进入了一个新的状态,叫做一次修订(revision),每一个修订版本被赋予了一个独一无二的自然数,一个比一个大。若初始修订号是0,说明版本库没有接受任何提交,是一个空目录。
注:Subversion的修订号是针对整个目录树的,而不是单个文件。每一个修订号代表了一次提交后版本库整个目录树的特定状态,另一种理解是修订号N代表版本库已经经过了N次提交。
导入(import)
将未被版本管理的代码引入SVN系统中,由此开始对它进行版本管理。
###导出(export)
指从版本库中导出文件至本地,但这些文件不受版本控制。
检出(checkout)
从版本库中检出文件至本地形成本地工作拷贝,这些文件受版本控制,是版本库的目录在本地的映射。
提交(checkin/commit)
将工作拷贝的变更内容提交至版本库。
冲突(conflict)
在协同开发的环境下,当两个开发人员对同一个文件的同一行代码进行修改,并且依次提交到仓库的时候,就发生了冲突。这种冲突需要手工消除,因此需要相关人员的沟通,并将形成的解除冲突之后的新版本提交到仓库中。
基本操作
图标设置
对于需要映射到网络磁盘上的工作拷贝显示图标。
查看图标含义
对增加、删除和修改的文件经图(2)设置后均会显示在工作拷贝的目录和文件上,不明白时可查看图中的设置。
SVN的访问方式
1、直接通过IE访问,即直接用URL地址搜索,这种形式只能查看配置库,下载有读
权限的文件,不能进行修改;
2、通过TortoiseSVN的版本库浏览器访问配置库,可执行
导出/导入/检出/提交等操作。
进入任一文件夹下,右键选择“TortoiseSVN -> 版本库浏览器” -> 输入URL地址(若初次进入会提示输入账号密码)
在跳出版本库浏览器索引栏输入配置库地址。详见下图
用户认证
认证
在访问配置库时,需要身份认证,将出现如下图登录界面。
若点击保存认证,客户端就会接收到一个认证请求,它会首先查找用户磁盘中的认证凭证缓存,如果没有发现,或者是缓存的凭证认证失败,客户端会提示用户输入这些认证信息。若保持之后,下次再次访问同一个URL时,不需要身份认证。
若需要清除认证信息,可在TortoiseSVN菜单下的“Settings(设置)”中进行如下设置。点击“Save Data”后清除按钮即可。(当没有保存认证时,改按钮显示灰色,不可用。)
工作周期
创建你的工作拷贝:SVN Checkout
更新你的工作拷贝:SVN Update
修改你的工作拷贝:add/delete/rename/copy/move
检验你的修改:check for modifications/ Diff
取消你的修改:revert
合并别人的修改到工作拷贝: (conflict)
提交你的修改:SVN Commit
checkout
功能:从版本库取出一个工作拷贝至本地。
操作:在弹出的对话框中输入版本库URL,本地工作拷贝路径,下载的版本号(默认为版本库当前最新版本),URL的深度可以自己控制。
注意事项:
(1)检出的版本库URL深度只能到目录,即只能检出文件夹,单个文件不能做检出;
(2)本地必须有一空的文件夹用于存放从版本库检出的工作拷贝;
update
功能:将版本库的最新版本合并到工作副本中。
操作:鼠标右击选中目录或文件,在Windows下使用右键菜单中SVN Update即可。
add
功能:将工作拷贝中新增加的文件,目录或符号链锁定添加到版本库,这些添加的对象会在commit时才真正上传并添加到版本库。只影响工作拷贝,在commit前不改变版本库内容。
操作:在工作拷贝中,使用右键菜单中的添加即可,此时的添加只是预添加。
注意:
1.添加的对象必须已经存在于当前工作拷贝路径内.若对象在工作拷贝路径外,请先用系统复制命令复制对象至工作拷贝对应路径内。在执行了svn的添加命令后,文件的符号标志由:
2.如果在提交前改变了主意,可以使用svn revert取消此预定(取消全部)。如果是单个目 录或单个文 件可以选择 Undo Add。
3.对于预增加的文件或目录,在未提交前,若需撤消增加,点击资源管理器中的“Revert”菜单,即可返回修改前的状态。
Delete
功能:删除工作拷贝中的目录或文件
变化:只影响工作拷贝,在commit前不改变版本库内容。
操作:
1、如果被删除的文件还未入版本库,则可以直接使用操作系统的删除操作删除该文件。
2、如果被删除的文件已入版本库,则删除的方法如下:
- 选择被删除文件,右键svn菜单执行”delete”操作,然后选择被删除文件的父目录,右键svn菜单执行”SVN Commit”.
- 使用操作系统的删除操作删除该文件,然后选择被删除文件的父目录,右键svn菜单执行”SVN Commit”,在变更列表中选择被删除的文件。
说明:
若是文件则工作拷贝中即刻删除,
若是目录,则目录中的文件被删除,文件夹保留,在目录上直观地显示出 来图标(X),
以上都是预删除过程,若需要将这些删除操作更新到版本库,则需要使用提交(Commit)操作。查看删除的文件,可点击资源管理器中的“check for modifications”菜单看变更状态。
Copy/Move
功能:将工作拷贝中需复制/剪切的目录或文件弄到目的文件夹中;
变化:只影响工作拷贝,在commit前不改变版本库内容;
操作:需要复制或移动的目录或文件拖放到目的文件夹中,再鼠标右击选取相应的操作,如下.
Rename
功能:对工作拷贝中的目录或文件进行重命名;
变化:只影响工作拷贝,在commit前不改变版本库内容;
操作: 右击选中需重命名的文件或目录,选择“rename”菜单,输入新的文件名后,工作拷贝中将出现重命名后的文件或目录,重命名前的文件或目录被删除。所有的操作在commit后方可更新到版本库。
注意:
Rename的过程其实分为两步:(1)add(2)Delete
说明:对工作拷贝中一个目录或文件进行rename完毕,下次提交时,在Commit对话框中,如下,两个状态的文档都要选上
Conflict
在执行commit操作时,如果发生冲突,就会有以下的界面出现,提 示“resource out of date,by updating”
解决步骤:
1、点“ok”按钮退出。
2、先执行update
3、然后commit
4、如果修改与update得到的代码不冲突,则自动合并。
注意:
在执行update操作时,如果发生冲突,就会有如下的界面出现,提示”One or more files are in a conflicted state“红色警告。说明出现冲突,说明多人对同一地方进行了修改,此时需要手动进行冲突的解决。
解决步骤:
1、选择冲突文件-〉”Edit conficts”
出现merge界面,分为”Theirs”、”Mine”和”Merged”3部分,表示”别人修改 的内容”、
”我修改的内容”和”合并后的结果”3部分。目标是将”别人修改的内容”和”我修改的内容”有取舍地合并起来,形成”合并后的结果”。
合并一般分为4种情况: 1、保留”我的修改”,舍弃”别人的修改”。鼠标右键点击Mine框的相应行,点 击”Use this text
block”。 2、舍弃”我的修改”,保留”别人的修改”。鼠标右键点击Theirs框的相应行,点 击”Use this text
block”。 3、同时保留”我的修改”和”别人的修改”,并将”我的修改” 放在前面。鼠标右键 点击Mine框的相应行,点击”Use
text block from mine before theirs”。
4、同时保留”我的修改”和”别人的修改”,并将”别人的修改”放在前面。鼠标右键 点击Mine框的相应行,点击”Use text block
from theirs before mine”。
2、合并完成,Ctrl+S存盘,退出;
3、选择冲突文件-〉”Resolved”,标记冲突已解决,系统自动删除因冲突而新建的文件;
4、继续进行commit操作;
Revert
功能:取消工作拷贝中的所有修改,回到修改前的状态,即回到Base 版本状态;
变化:只影响工作拷贝,不影响版本库;
操作:右击选种需撤消修改的目录或文件,执行”Revert”。
说明:
1、如果是工作拷贝的顶级目录,则撤销工作拷贝中的所有更改;
2、如果是工作拷贝中的子目录,则撤销子目录中的所有更改;
3、如果是单个文件,则撤销对单个文件的修改;
Commit
功能:提交修改,将修改从工作拷贝提交到版本库。影响工作拷贝和版本库,在提交后,版本库内容将与本地工作拷贝相同。
操作:选取需提交的文件或目录,点击“svn commit”菜单,选取完毕,若未保存认证的信息,则需要重新输入用户名与密码,系统认证是否有写的权限。
点击”OK”,进入以下界面,表示提交成功。
注意:提交的对象必须为相对版本库已做了修改的文件或目录,如预添加,预删除,或已修改的等,对于没有修改的目录或文件将不会进行提交。
查看更新
可查看工作拷贝上的变更,工作拷贝中缺的文件及与版本库中比较缺少的或更改的情况。
操作:右击文件或目录,选取资源管理器中的“check for modifications”,不点击”check repository”,只是与工作拷贝中的BASE版本比较,显示出变更的文件。否则将同时与版本库比较检查库中是否有了新的变动。
查看差异
1、文件差异比较
1.比较某个文件工作拷贝中的版本与checkout时的版本(即Base)之间的差 异,选取该文 件,点击右键,打开“比较差异”显示比较结果。
2.若需比较两个历史版本,打开版本分支图。选一个版本,按CTRL键再选另外一版本, 点击“比较版本差异”出现如图所示界面的比较结果。
2、比较目录的差异或整个版本的差异
在所在的目录下,点击右键,打开版本分支图。选一个版本,按CTRL键再。选另外一版本,点击“比较版本差异”出现如图所示界面的比较结果。
查看日志
查看某些版本的日志信息或所有版本的日志,默认情况是所有版本的,可点击”ShowRange”显示某些版本的变更日志信息。
标签
选取需打标签的目录,选取“分支/标记”,则将出现如图所示界面
相关文章:
TortoiseSVN的使用
基本概念 版本库 SVN保持数据的地方,所有的文件都保存在这个库中,Tortoise访问的就是远程服务器上的Subversion版本库。 工作拷贝 就是工作副本,可将版本库的文件拷贝到本地中,可以任意修改, 不会影响版本库。在你…...
操作系统(day09) -- 连续分配管理方式
连续分配管理方式 单元连续分配 动态分区分配 1.系统要用什么样的数据结构记录内存的使用情况? 两种常用的数据结构 空闲分区表 每个空闲分区对应一个表项。表项中包含分区号、分区大小、分区起始地址等信息空闲分区链 每个分区的起始部分和末尾部分分别设置前向…...
APISpace 带你一起走进西湖美景
俗话说:“上有天堂,下有苏杭”。 “欲把西湖比西子,浓妆艳抹总相宜” 今天我就带大家走进杭州的西湖美景。自古以来,文人歌者面对西湖美景留下千古绝句,还以西湖为背景书写了一段段动人的爱情传说。 天生自带浪漫色…...
傻白探索Chiplet,Design Space Exploration for Chiplet-Assembly-Based Processors(十三)
阅读了Design Space Exploration for Chiplet-Assembly-Based Processors这篇论文,是关于chiplet设计空间探索的,个人感觉核心贡献有两个:1.提出使用整数线性规划算法进行Chiplet的选择;2.基于RE和NRE提出了一个cost模型ÿ…...
系统分析师真题2020试卷相关概念一
对象系统测试的基本概念: 面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。方法层次的测试类似于传统软件测试中对单个函数的测试; 测试技术: 方法层次的测试,单个函数的测试;常用的技术:等价类划分测试、组合功能测试、递归函数的测试和多态…...
20230215_数据库过程_渠道业务计算过程
—20221209 渠道产能 —自有人员工号表 shzc.xc_qdcn_pgtx_opertype —select * from shzc.xc_qdcn_pgtx_opertype for update ; —渠道基础目录 shzc.xc_qdcn_pgtx_qdtype —select * from shzc.xc_qdcn_pgtx_qdtype for update ; SQL_STRING:‘update shzc.xc_qdcn_pgtx_q…...
【C++】Expression的学习笔记
关于不同类别表达式的举例,请参考博文《C 中的值类别》 1. 左值和右值的简单理解 左值对应了具有内存地址的对象,而右值仅仅是临时使用的值对象。(引用自博文《C 中的值类别》)左值有名称(变量或常量名称)…...
[数据库迁移]-MySQL常见问题
[数据库迁移]-MySQL常见问题 森格 | 2023年2月 介绍:记录在MySQL数据库迁移过程中遇到的问题,以及解决方案。 文章目录[数据库迁移]-MySQL常见问题一、背景二、常见问题2.1 ERROR 20032.2 ERROR 12732.3 ERROR 10712.4 视图权限2.5 ERROR 1062三、总结一…...
C语言编译过程
C语言编译过程1、C语言编译过程2、单c文件编译实践3、多c文件编译实践4、define4.1、不带参宏4.2、带参宏4.3、带参宏和带参函数的区别5、选择性编译ifdef、ifndef、if5.1、#ifdef5.2、#ifndef5.3、#if6、静态库和动态链接库6.1、静态库实践6.1.1、将mylib.c制作成静态库6.1.2、…...
前端学习 ---常用标签
常用标签 1,文本标签 文本标签是双标签,自带加粗效果,有自己对应的文本大小,并且独占一行,有默认间距 一级标签:< h1 > < /h1 > 二级标签:< h2 > < /h2> 三级标签:&l…...
2023年PMP考试难不难?
整个考试的考察方向转向还是比较大的,基本上以“价值传递”和“以人为本”这两个出发点来考察项目经理所需要的能力。 1}新版提纲题目数量的变化 总题量从200道减少到180道,所以答题时间上相对变的宽裕一些。考试时间230分钟,中间有十分钟休…...
Netty 入门
文章目录一、概述1.1 Netty 是什么?1.2 Netty 的地位1.3 Netty 的优势二、Hello World2.1 目标2.2 服务器端2.3 客户端2.4 流程梳理三、组件3.1 EventLoop3.2 演示 NioEventLoop 处理 io 事件3.3 演示 NioEventLoop 处理普通任务3.4 演示 NioEventLoop 处理定时任务…...
收藏|一文掌握数据分析在企业的实际流程
一、数据分析概念 1.1 数据分析 是指用适当的统计分析方法对收集来的大量数据进行分析,将他们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。 1.2 数据分析包括 描述性数据分析(初级数据分析)…...
100ask_imx6ull 输出PWM
查看PWM对应扩展板的引脚 100ask_imx6ul通过扩展板插槽来验证pwm波,所以这里通过扩展板的原理图及芯片手册可知,gpio4_io20,gpio4_io19分别对应着PWM8和PWM7。 设置设备树 打开官方NXP的工具i.MX pins v6工具,PWM7/PWM8的配置如…...
yolov5编译安卓APP:解决图像上全是检测框
yolov5编译安卓APP:解决图像上全是检测框前言一、第一个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法二、第二个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法三、其他1.APK打包2.修改APP图标与名字前言 YOLOv5编译安卓A…...
为什么我们需要地图?
想一想,武侠小说里面。一张藏宝图,引来江湖腥风血雨,要么是武功秘籍,要么是绝世宝剑,要么是富可敌国的财富,只要有了藏宝图,便可曲径通幽,到达彼岸。 由此可见,地图的重…...
攻防世界1.新手练习区
4.攻防世界1.新手练习区 1.view_source 访问url: http://111.200.241.244:48855/ 鼠标点击右键不起作用,F12审查元素 得到flag为cyberpeace{0f3a3e4ab8c8664f3cf40d4240ec7b53} 2.robots 访问url: http://111.200.241.244:34362/ rob…...
Python进阶篇(二)-- Django 深入模型
上一节提到了Django是基于MVC架构的Web框架,MVC架构追求的是“模型”和“视图”的解耦合。所谓“模型”说得更直白一些就是数据(的表示),所以通常也被称作“数据模型”。在实际的项目中,数据模型通常通过数据库实现持久…...
ABAP SALV实现弹出ALV选择
问题场景 需要弹出一个ALV并获取选择的数据 实现思路 跳转屏幕弹出ALV(通过SALV)弹出ALV(通过REUSE_ALV_POPUP_TO_SELECT) 实现效果 因为这里需要的是单选,所以没有多选列 实现代码 MODULE sel_zfretype INPUT.…...
git check-pick,git patch 与 git stash 详解
大家好,我是 17。 今天和大家聊一聊 git check-pick,git patch 与 git stash 的用法。 git cherry-pick 为什么要用 cherry-pick? 不适合 merge 的场景就可以考虑 cherry-pick。 试想下面这些场景 只想同步分支的部分提交。两个分支是两上完全独立…...
OA漏洞-到处搜集整理
一米OA getfile.jsp 任意文件读取漏洞 原文链接 漏洞复现 一米OA getfile.jsp 任意文件读取漏洞 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。一米OA getfile.jsp文件存在任意文件读取漏洞&am…...
web端接收读卡器卡片信息
项目背景 通过电脑连接的读卡器读取卡片信息,并由web页面接收和处理卡片信息。 读卡器抛出卡片信息流程 卡片贴近或放置到读卡器上读卡器解析卡片信息,并形成固定格式的字符串,包括的信息有:卡片写入的数据、卡片原数据&#x…...
BUUCTF-练习场-WEB-第一部分(8道)
[极客大挑战 2019]EasySQL 1payload:1 or 11#是闭合前面的查询语句,or 11恒成立,可以使用or句子绕过判断,#用于注释,注释后面的内容不再执行,所以该sql命令会返回表内所有内容,其实就是实现一个…...
Java Reflection 实战- Class类
Java Reflection 实战 - Class Java 反射使得在运行时检查类、接口、字段和方法成为可能,而不需要在编译时知道类、方法等的名称。也可以使用反射来实例化新对象、调用方法和获取/设置字段值。 Java反射的功能相当强大,可以说是非常有用。例如ÿ…...
背包问题理解思路(01背包、完全背包、分组背包)
这两天把经典的三个背包问题看了一下,网上大多文章是以代码和公式为主,因为平时没刷过算法题所以理解起来花了些时间,固写一篇文章记录理解思路,本文不包含代码实现(理解了思路代码实现应该是小问题,网上一…...
Mr. Cappuccino的第39杯咖啡——Kubernetes之深入理解Pod
Kubernetes之深入理解PodPod相关概念Pod详细配置清单Pod核心配置Pod基本配置1. 创建yaml文件2. 创建namespace并根据yaml文件创建资源3. 查看namespace下的pod列表以及pod的详细信息Pod中多个容器的名称和端口号不能相同Pod镜像拉取策略Pod环境变量Pod端口相关设置Pod资源相关配…...
SqlSession 和 SqlSessionTemplate 简单使用及注意事项
1、SqlSession 简单使用 先简单说下 SqlSession 是什么?SqlSession 是对 Connection 的包装,简化对数据库操作。所以你获取到一个 SqlSession 就相当于获取到一个数据库连接,就可以对数据库进行操作。 SqlSession API 如下图示:…...
1. QSaveFile和QFile的简单使用
1. 说明 QSaveFile和QFile两个类都是用来操作文件的,区别在于QSaveFile在对文件进行写入时有一种保护机制,再写入出错时,不会对源文件中的内容进行操作。该类在执行写操作时,会先将内容写入到一个临时文件中,如果没有…...
工业4.0是如何优化垃圾处理行业的
如今,工业4.0正在影响着制造业和物流等行业,其发展潜力在未来还有望进一步扩大。一些全球领先的垃圾处理公司已经开始在水处理和废物回收等领域应用工业4.0。工业4.0的创新给这个领域带来了一些必要的改进。随着环境危机的加剧,垃圾处理行业面…...
vue 动画(transition)
一、 实现原理 在插入、更新、移除 DOM 元素时,在合适的时候给元素添加样式类名,配合 CSS 样式使用,实现动画效果。 通俗来讲,就是将要进行动画操作的 DOM 元素用 transition 标签包裹起来。在此html元素运动前,运动…...
东莞手机网站建设/想建立自己的网站
文章目录 一、前言二、源码二、版本三、开始1、游戏规则2、艺术风格3、摄像机设置4、光线设置5、地面设置6、建筑物设置7、城堡设置8、怪物设置9、生成怪物10、子弹设置11、防御塔设置12、内容拓展一、前言 在本教程中,我们将创建一个小的三维塔防御游戏与一个完全独特的图形…...
wordpress安装伪静态/万能浏览器
Aster(A*)算法 Aster算法是在Dijkstra算法基础上发展出来的,是在静态路径中用于求解最优路径有效的直接搜索算法,比dijkstra算法多了一个启发式的搜索函数,也就是通过一个代价函数来确定搜索方向(从起点开…...
网站空间和虚拟主机/东莞seo排名收费
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 决策树除了能进行分类分析,还能进行回归分析,即预测连续变量,此时的…...
网站开发难度/seo策略是什么意思
记得在异常出现之前,只安装了MySQL,之后OrCAD Capture、Allegro就打不开了。 Capture.exe - 系统错误 allegro.exe - 系统错误 我尝试在Cadence的安装目录下搜索这些dll文件,可以找到得到。 上网搜了一下,怀疑是系统变量缺失导致的…...
网站建设如果登录失败/手机创建网站免费注册
Mac系统下安装Tomcat,以及终端出现No such file or directory的错误提示解决方案参考文章: (1)Mac系统下安装Tomcat,以及终端出现No such file or directory的错误提示解决方案 (2)http://www…...
中国核工业华兴建设公司网站/深圳网络推广服务公司
两独立样本Wilcoxon检验(也称为Wilcoxon秩和检验或Mann-Whitney检验)是一种非参数替代配对双样本t检验,其可以被用于比较样品的两个独立的组。当您的数据不是正态分布时使用。在第九讲中,我们讲到了两独立样本t检验的假设条件是样…...