【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的 webSVN 和 TortoiseSVN【即小乌龟】
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

- 安装 TortoiseSVN:双击TortoiseSVN-1.8.10.26129-x64-svn-1.8.11.1420009570.msi-》后续安装到指定位置即可
- 安装 中文语言包:双击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路径底下…...
版本控制工具之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 堆的内存分区了解吗?运行时常量池?字符串常量池了解吗ÿ…...
【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 组件中,当你想在条件为 true 时渲染一些 JSX 时,它经常会出现,或者什么都不渲染。使用 ,只有在以下情况下才能有条件地呈现复选标记:&&isPackedtrue return (<li className"item">{…...
Redis详解(二)
事务 什么是事务? 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都…...
嵌入式:基于STM32的智能家居照明控制系统
在智能家居系统中,自动照明控制不仅提高了居住舒适度,还有助于节能减排。本教程旨在引导读者通过使用STM32微控制器来开发一个智能照明控制系统。该系统能够根据环境光线自动调整室内照明的亮度,并支持通过简单的用户界面手动控制光线。 一、…...
三种基本排序-冒泡,选择,二分
闲话不多说,直接上代码,简明易懂,条理清晰,交互性强,尽善尽美 码住,建议copy下来: 先上二分法吧,稍复杂点的,代码多一些,用了函数调用 二分排序࿱…...
windows查找重复的物理地址
单独查询所有物理(mac)地址(cmd执行):arp -a 查找同一局域网下重复的mac,打开power shell执行以下命令: Get-NetNeighbor | Where-Object { $_.State -eq "Reachable" } | Select-O…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...


