TortoiseSVN的使用

news/2024/4/30 4:26:44/文章来源:https://blog.csdn.net/weixin_52540905/article/details/129037051

基本概念

版本库

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、如果被删除的文件已入版本库,则删除的方法如下:

  1. 选择被删除文件,右键svn菜单执行”delete”操作,然后选择被删除文件的父目录,右键svn菜单执行”SVN Commit”.
  2. 使用操作系统的删除操作删除该文件,然后选择被删除文件的父目录,右键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”显示某些版本的变更日志信息。
在这里插入图片描述

标签

选取需打标签的目录,选取“分支/标记”,则将出现如图所示界面
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_258389.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AcWing语法基础课笔记 第二章 printf语句与C++中的判断结构

第二章 printf语句与C中的判断结构 学习语言最好的方式就是实践&#xff0c;每当掌握一个新功能时&#xff0c;就要立即将这个功能应用到实践中。 ——闫学灿 一、printf输出格式 注意&#xff1a;使用printf 时最好添加头文件 #include <cstdio>。 Int、float、double、…

不愧是GitHub点赞飙升的Java10W字面经,面面俱到,太全了!

最新的喜报啊&#xff0c;话不多说&#xff0c;先看图&#xff01;&#xff08;为了保护朋友的隐私&#xff0c;同时还有我自己的隐私&#xff0c;楼主就都打码了~&#xff01;&#xff09; 朋友说到这儿时候我就跟他说&#xff0c;不要只看眼前&#xff0c;要看长远一些&#…

【python】基于Socket的聊天室Python开发

基于Socket的聊天室Python开发一、Socket简述二、创建服务端Server2.1 创建服务端初始化2.2 监听客户端连接2.3 处理客户端消息三、创建客户端Client3.1 创建服务端初始化3.2 发送消息3.3 接收消息3.3 线程工作3.4 线程工作是不是挺好玩的呢&#xff1f;也可以作为课程设计哦&a…

chatgpt系列文章-23.2.15(主要还在发现chatgpt的不足,偏探索,像报告)

Will ChatGPT get you caught? Rethinking of Plagiarism Detection 推荐指数&#xff1a;2 主要内容 文章主要是研究chatgpt出现后&#xff0c;在学术界中可能出现的学术抄袭和剽窃现象。 这篇文章就比较了几种剽窃抄袭软件&#xff0c;来测试是否能够识别chatgpt编写的内…

电子科技大学操作系统期末复习笔记(三):存储器管理

目录 前言 存储器管理 概述 存储管理 存储系统的结构 程序的诞生 空间分类 地址映射 程序链接的方式 静态链接 装入时动态链接 运行时动态链接 程序装入的方式 程序装入的两类三种方法 绝对装入 静态重定位 动态重定位√ 关键点 存储器管理&#xff1a;连续…

人与人之间赚钱的差距在哪里呢?体现在这几个因素中

同样生而为人&#xff0c;同样接受九年制义务教育的熏陶&#xff0c;但最终赚钱能力却千差万别&#xff0c;因此也就形成了我们所谓的圈层&#xff0c;阶层&#xff0c;穷人和富人。 一个人的赚钱能力跟什么有关&#xff1f;资源技能、学历、认知&#xff0c;这些都会决定一个人…

75V的TVS二极管有哪些型号?常用的

瞬态抑制TVS二极管工作峰值反向电压最低3.3V&#xff0c;最高可达513V&#xff0c;甚至更高。很多电子工程师都知道&#xff0c;TVS二极管在实际应用选型过程中&#xff0c;第一步要确认的就是其工作峰值反向电压。2023年春节已过&#xff0c;东沃电子正月初八就开工了&#xf…

招聘链接怎么做_分享招聘小程序制作步骤

招聘小程序的主要用户就是企业招聘端和找工作人员的用户端,下面从这两个端来对招聘小程序开发的功能进行介绍。 企业端功能 1、岗位发布:企业根据自身岗位需求,在招聘app上发布招聘岗位及所需技能。 2.简历筛选:根据求职者提交的简历选择合适的简历,并对公开发布的简历进行筛…

【Python从入门到进阶】7、运算符

接上篇《6、变量规范及类型转换》 上一篇我们学习了Python变量的命名规范以及类型转换。本篇我们来学习Python的运算符部分&#xff0c;包括算数运算符、赋值运算符、比较运算符、逻辑运算符等。 一、运算符含义 运算符用于执行程序代码运算&#xff0c;会针对一个以上操作数…

指 针

1.指针指针的作用: 可以通过指针间接访问内存&#xff08;可以通过指针的保存一个地址&#xff08;指针--地址&#xff09;&#xff09;内存编号是从0开始记录的&#xff0c;一般用十六进制数字表示。可以利用指针变量保存地址指针变量的定义和使用指针变是定义语法: 数据类型 …

【项目精选】基于Javaee的影视创作论坛的设计与实现(视频+论文+源码)

点击下载源码 基于Javaee的影视创作论坛的设计与实现主要用功能包括&#xff1a; 首页推荐、用户管理、影片管理、评论管理、 预告片管理、海报管理、公告管理、数据检索、用户注册与登录等等功能、统结构如下 &#xff08;1&#xff09;后台管理: 管理模块&#xff1a;管理员…

碰撞检测算法分类

包围形法粗糙检测, 包含以下两种类检测外接圆法轴对齐包围矩形&#xff0c; AABB 碰撞检测算法之包围形法分离轴精细检测 BOX vs PolygonOBBseparating Axis Theorem碰撞检测算法之分离轴定理GJKGJK&#xff08;Gilbert–Johnson–Keerthi&#xff09;, 相比 SAT 算法&#xff…

jvisualvm工具使用

jdk自带的工具jvisualvm&#xff0c;可以分析java内存使用情况&#xff0c;jvm相关的信息。 1、设置jvm启动参数 设置jvm参数**-Xms20m -Xmx20m -XX:PrintGCDetails** 最小和最大堆内存&#xff0c;打印gc详情 2、测试代码 TestScheduleClassGc package com.core.schedule;…

华为OD面试经验分享,尤其注意机试题部分

文章目录招聘流程和背景介绍面试准备机试题目类型和解答技巧在算法部分在操作系统部分面试官提问和答题技巧面试总结和建议推荐一些华为 od 常见的机试题题目&#xff1a;两数之和题目&#xff1a;二叉树的遍历题目&#xff1a;链表反转题目&#xff1a;最大子序和招聘流程和背…

C语言之结构体内存的计算

结构体的内存 一.提出疑问 结构体占用的是一片连续的内存空间&#xff0c;大小是由成员变量的类型决定的。但并不是计算所有成员变量的类型大小之和那么简单。 先举一个实例&#xff1a; struct student {int age; //4个字节int telephone; //4个字节 }; int main() {struc…

jhipster自动生成java代码的方法

一、前言 java springboot后台项目用到了jpa查询数据库&#xff0c;还用到了jhipster&#xff0c;这个东西可以自动生成基础的Controller、Service、Dao、JavaBean等相关代码&#xff0c;减少重复开发。 在此总结下使用方法。 二、jhipster自动生成java代码的方法 1.需要先…

ShardingSphere-Proxy5 根据时间分表

0、软件版本 ShardingSphere-Proxy&#xff1a; 5.2.0 MySQL&#xff1a; 8.0.30 系统&#xff1a; win10 1、ShardingSphere-Proxy下载 我们可以在 官网 找到最新版ShardingSphere-Proxy下载&#xff0c;也可以在ShardingSphere仓库中下载 2、ShardingSphere-Proxy配置 …

哈希

一、unordered系列关联式容器 set、map / unordered_set、unorder_map 区别&#xff1a; set、map底层结构是红黑树&#xff0c;unordered_set、unorder_map底层结构是哈希表unordered系列是&#xff1a;无序、单向迭代器、效率高( O(1) )每个容器都自身提供swap成员函数&am…

用主动游泳的三维水母模型量化美杜莎的(medusan)机械空间的性能(二)(2017)

文章目录用主动游泳的三维水母模型量化美杜莎的&#xff08;medusan&#xff09;机械空间的性能&#xff08;二&#xff09;(2017)原文链接&#xff1a;https://doi.org/10.1017/jfm.2017.3结果3.1 参考案例的游泳动力学3.2 改变钟的主动和被动材料属性3.2.1 改变施加的张力3.2…

virtuoso数据库介绍

在国内&#xff0c;对海量 RDF 数据的管理有着迫切的实际需求&#xff1b; RDF&#xff1a;Resource Description Framework&#xff0c;是一个使用XML语法来表示的资料模型(Data model)&#xff0c;用来描述Web资源的特性&#xff0c;及资源与资源之间的关系。 Virtuoso可以对…