当前位置: 首页 > 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…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...