当前位置: 首页 > news >正文

【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程

目录

🌞前言

🌊1. SVN 的简介

🌍1.1 SVN是什么

🌍1.2 SVN 工作原理

🌍1.3 TortoiseSVN 术语及定义

🌊2. TortoiseSVN 安装与汉化

🌊3. SVN 基本操作-TortoiseSVN

🌍3.1 浏览器打开-两种方式

🌍3.2 check out(检出)

🌍3.3 update(更新)

🌍3.4 add(新增)

🌍3.5 commit(提交)

🌌冲突解决办法【冲突文件图标:黄色冒号】:

🌍3.6 revert(还原)

🌍3.7 showlog(显示日志)

🌍3.8 Add to lgnore List(增加到忽略列表)

🌍3.9 clean up(清理)

🌍3.10 加锁与解锁


🌞前言

TortoiseSVN 是一个客户端,允许开发人员直接从 Windows 的文件浏览器中操作,提供“点击右键并按下(point-and-click)”的使用环境。 


🌊1. SVN 的简介

🌍1.1 SVN是什么

  • SVN 的全称是 Subversion【版本控制系统】
    是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
  • SVN 采用客户端/服务器【即C/S体系】,数据不丢失,历史可追溯。
    SVN 是输入C/S服务类软件,有客户端和服务端,客户端用于操作,服务端用于数据存放,服务端会管理着随时间改变的所有数据,以递交版本记录每次操作内容。
  • SVN 的客户端软件有基于WEB的 webSVNTortoiseSVN【即小乌龟】

svn采取分支管理系统:分为

  • trunk-主干(基线)
  • branchs-分支(增量和补丁)
  • tags-标签

公司版本分成:基线版本、增量版本和补丁版本,以及非正式版本的beta版(即测试版本)


🌍1.2 SVN 工作原理

A 写了内容 a,B 对内容 a 进行了修改,C 通过 SVN 能够知道 A 和 B 各自干了什么事。

svn 流程如下:


🌍1.3 TortoiseSVN 术语及定义

TortoiseSVN 所有功能都集成在系统右键中,通过系统右键菜单便可实现 TortoiseSVN 的日常操作。

【术语及定义】

  • repository(源代码库)—源码统一存放的地方
  • Check out—签出:指将库中整个模块首次导入到本地
  • Commit—提交:将本地修改过的文件提交到库中
  • Update—更新:从库下载其他人的修改过的文件从而更新本地的拷贝
  • 基线是软件文档或源码(或其他产物)的一个稳定版本,它是进一步开发的基础。是项目存储库中每个工作版本的在特定时期的一个“快照”

🌊2. TortoiseSVN 安装与汉化

注意:云内使用和安装,云内自带 TortoiseSVN,汉化一下即可。

windows 64位TortoiseSVN客户端下载包:

链接:https://pan.baidu.com/s/1DHd8Xc1cyZPPRrOmISuuMw?pwd=bjdh
提取码:bjdh

  1. 安装 TortoiseSVN:双击TortoiseSVN-1.8.10.26129-x64-svn-1.8.11.1420009570.msi-》后续安装到指定位置即可
  2. 安装 中文语言包:双击LanguagePack_1.8.10.26129-x64-zh_CN.msi-》finish
    1) 在桌面任意位置,点击鼠标右键->TortoiseSVN->Settings…
    2) 选择 General->Language 选择中文(简体),点击“确定”,便可完成中文化


🌊3. SVN 基本操作-TortoiseSVN

🌍3.1 浏览器打开-两种方式

方式一:未安装客户端

可以直接在网页中输入 svn 地址打开【申请后会发公司邮件(含 svn 链接)】


方式二:已按照客户端 【比如TortoiseSVN 即小乌龟】

鼠标右键桌面或者工作副本,选择 TortoiseSVN 中的版本库浏览器打开【其实等价于浏览器打开】

输入svn 地址-》域账号登录。


🌍3.2 check out(检出)

用于检出配置库中的文件到本地,生成工作副本。

会有隐藏文件.svn【不用改,关于svn的功能内容】

拉取成功显示如下【绿勾图标:表示未更改】

SVN检出和导出区别:

  • SVN检出 配置库文件到本地,会生成工作副本,与svn 有关联。
  • 导出 仅把代码拉到本地

🌍3.3 update(更新)

svn 更新

  • 作用:用于更新工作副本到对应版本【比如代码可能更新了】
  • 方法∶在 拉取的 svn目录 右键-》svn 更新

更新至版本-》显示日志【可以选择更新到某一个版本】

什么时候需要更新至版本?

比如代码写错了、递交错了、分支递交错了【代码回退还原就更新至之前的版本】


🌍3.4 add(新增)

  • 作用:用于新增文件或者目录增加到svn版本控制中
  • 方法∶在 拉取的 svn目录 右键-》add(新增)

此时没有提交到 svn 配置库,在本地将该文件加入到 svn 版本控制中【红冒图标:说明该文件已经被修改】


🌍3.5 commit(提交)

作用:递交本地副本的代码到svn服务器
方法:选择工作副本-》对应文件-》右键递交

说明:

  • 可能会冲突场景:只有读权限、本地不是对最新的代码进行修改【根据递交信息查看即可】
  • 根据SVN递交时要填写的模板,并且递交时检查是否按照模板填写,未符合要求的会被禁止递交。

🌌冲突解决办法【冲突文件图标:黄色冒号】:

  • 冲突文件-》右击 编辑冲突
  • 自己改的不好就还原呗。。【一定要先备份本地代码,不然全没了】


🌍3.6 revert(还原)

  • 作用:撤销本地所有未递交的修改
  • 方法:选择工作副本-》对应文件-》右键还原【一定要先备份本地代码,不然全没了】


🌍3.7 showlog(显示日志)

  • 作用:显示历史操作纪律【文件由谁修改,为什么改、改的内容】
  • 方法∶选择工作副本-》对应文件-》右键显示日志

显示改变-》可以查看修改内容


🌍3.8 Add to lgnore List(增加到忽略列表)

  • 作用:新增文件或目录不被svn控制【比如中间文件避免提交】
  • 方法∶选择文件或目录右键

不小心忽略了就再点击一次就取消忽略。


🌍3.9 clean up(清理)

  • 作用:清除锁定状态,也可以清理不收svn控制的文件
  • 方法∶选择需要清理的目录右键

什么时候会用到?
提交时中断,再此提交会显示文件被锁定,就需要清理【如果不行就重启】


🌍3.10 加锁与解锁

  • 作用:防止文件被他人修改
  • 方法∶选择需要加锁的文件右键

什么时候用加锁:对于重要文件在本地编译时加锁


相关文章:

【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程

目录 🌞前言 🌊1. SVN 的简介 🌍1.1 SVN是什么 🌍1.2 SVN 工作原理 🌍1.3 TortoiseSVN 术语及定义 🌊2. TortoiseSVN 安装与汉化 🌊3. SVN 基本操作-TortoiseSVN 🌍3.1 浏览…...

5.13学习日志

Pytorch 神经网络基础 1.模型构造 1》层和块 块可以描述单个层,由多个层组成的组件或者模型本身 块由类表示,类的任何子类都必须定义一个将其输入转换为输出的前向传播函数。为了计算梯度,块必须具有反向传播函数 自定义块: …...

8种常见的CMD命令

1.怎么打开CMD窗口 步骤1:winr 步骤2:在弹出的窗口输入cmd,然后点击确认,就会出现一个cmd的窗口 2.CMD的8种常见命令 2.1盘符名称冒号 说明:切换盘的路径 打开CMD窗口这里默认的是C盘的Users的27823路径底下&#xf…...

版本控制工具之Git的基础使用教程

Git Git是一个分布式版本控制系统,由Linux之父Linus Torvalds 开发。它既可以用来管理和追踪计算机文件的变化,也是开发者协作编写代码的工具。 本文将介绍 Git 的基础原理、用法、操作等内容。 一、基础概念 1.1 版本控制系统 版本控制系统&#x…...

五子棋对战(网页版)

目录 一、项目背景 用户模块 匹配模块 对战模块 二、核心技术 三、相关知识 WebSocket 原理 报文格式 代码 服务器代码 客户端代码 四、项目创建 4.1、实现用户模块 编写数据库代码 数据库设计 配置MyBatis 创建实体类 创建UserMapper 创建UserMapper接口 实现UserMapper.xml 前…...

在 Ubuntu系统中,可以使用以下几种方法查看网络速率

1 使用终端命令:可以使用ifconfig命令查看网络接口的信息,包括网络接口名称、IP地址、子网掩码等。也可以使用nload命令查看网络流量和传输速率。 2 使用网络监控工具:例如nethogs,可以更加直观地查看网络吞吐量。 3 使用网络测…...

这是摆脱困境的最好方法

20多年前,我开始涉足创业,经历过的那种停滞感我都记不清了。这是这条职业道路上最常见的挣扎之一,而且很难摆脱。 卡住的城市是一个地方,任何有创造力的,自由职业者和好奇的人经常去。这是一个很难逃离的地方。 被困…...

OceanBase 中的ROWID与Oracle的差异与如何迁移

1. ROWID 1.1 OB和Oracle中rowid的区别 正如大家所知道的,OceanBase兼容Oracle的rowid特性,但在其生成规则上却存在不同,具体表现如下: OceanBase ● 定义:OceanBase(简称 OB)的rowid是通过…...

秋招后端开发面试题 - JVM运行时数据区

目录 运行时数据区前言面试题JVM 内存区域 / 运行时数据区?说一下 JDK1.6、1.7、1.8 内存区域的变化?为什么使用元空间替代永久代作为方法区的实现?Java 堆的内存分区了解吗?运行时常量池?字符串常量池了解吗&#xff…...

【YOLOv8改进[Backbone]】使用SCINet改进YOLOv8在黑暗环境的目标检测效果

目录 一 SCINet 1 本文方法 ① 权重共享的照明学习 ② 自校准模块 ③ 无监督训练损失 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 1 整体修改 2 配置文件 3 训练 其他 一 SCINet 官方论文地址:https://arxiv.org/pdf/2204.10137 官方代码地址&…...

ASE docker related research

ASE 2022 Understanding and Predicting Docker Build Duration: An Empirical Study of Containerized Workflow of OSS Projects 理解和预测 Docker 构建持续时间:OSS 项目容器化工作流程的实证研究 Docker 构建是容器化工作流程的关键组成部分,它…...

maven .lastUpdated文件作用

现象 有时候我在用maven管理项目时会发现有些依赖报错,这时你可以看一下本地仓库中是否有.lastUpdated文件,也许与它有关。 原因 有这个文件就表示依赖下载过程中发生了错误导致依赖没成功下载,可能是网络原因,也有可能是远程…...

gtest的编译与使用

文章目录 gtest的编译与使用概述笔记CMake参数官方文档测试程序测试效果END gtest的编译与使用 概述 gTest是 googletest的缩写,如果直接找gTest项目,是找不到的。 库地址 https://github.com/google/googletest.git 迁出到本地后,切到最新…...

【 npm详解:从入门到精通】

文章目录 npm详解:从入门到精通1. [npm](https://www.npmjs.com/)的安装2. npm的基础用法2.1 初始化项目2.2 安装依赖2.3 卸载依赖2.4 更新依赖 3. npm的高级用法3.1 运行脚本3.2 使用npm scope3.3 使用npm link 4. npm资源5. 使用npm进行依赖树分析和可视化6. npm进…...

【Web后端】实现文件上传

表单必须使用post提交 ,enctype 必须是multipart/form-data在Servlet上填加注解 MultipartConfiglocation :默认情况下将存储文件的目录,默认值为“”。maxFileSize :允许上传文件的最大大小,其值以字节为单位。 默认值为-1L表示无…...

react 逻辑 AND 运算符 ()

在 React 组件中&#xff0c;当你想在条件为 true 时渲染一些 JSX 时&#xff0c;它经常会出现&#xff0c;或者什么都不渲染。使用 &#xff0c;只有在以下情况下才能有条件地呈现复选标记&#xff1a;&&isPackedtrue return (<li className"item">{…...

Redis详解(二)

事务 什么是事务&#xff1f; 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作&#xff1a;事务中的命令要么全部被执行&#xff0c;要么全部都…...

嵌入式:基于STM32的智能家居照明控制系统

在智能家居系统中&#xff0c;自动照明控制不仅提高了居住舒适度&#xff0c;还有助于节能减排。本教程旨在引导读者通过使用STM32微控制器来开发一个智能照明控制系统。该系统能够根据环境光线自动调整室内照明的亮度&#xff0c;并支持通过简单的用户界面手动控制光线。 一、…...

三种基本排序-冒泡,选择,二分

闲话不多说&#xff0c;直接上代码&#xff0c;简明易懂&#xff0c;条理清晰&#xff0c;交互性强&#xff0c;尽善尽美 码住&#xff0c;建议copy下来&#xff1a; 先上二分法吧&#xff0c;稍复杂点的&#xff0c;代码多一些&#xff0c;用了函数调用 二分排序&#xff1…...

windows查找重复的物理地址

单独查询所有物理&#xff08;mac&#xff09;地址&#xff08;cmd执行&#xff09;&#xff1a;arp -a 查找同一局域网下重复的mac&#xff0c;打开power shell执行以下命令&#xff1a; Get-NetNeighbor | Where-Object { $_.State -eq "Reachable" } | Select-O…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...