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

svn工具使用

svn

介绍

  1. 解决之道:

SCM:软件配置管理

所谓的软件配置管理实际就是对软件源代码进行控制与管理

CVS:元老级产品

VSS:入门级产品

ClearCase:IBM 公司提供技术支持

SVN:主流产品

  1. 什么是SVN?
  • SVN 全称SubVersion
  • SVN 是CVS 的接班人

特点:操作简单 入门容易

​ 支持跨平台操作(Window,Linux,MacOS)

​ 支持版本回退

  1. 获取SVN软件

属于C/S架构软件(客户端 与 服务器)

服务端软件:visualsvn

https://www.visualsvn.com/server/download/

客户端软件:tortoisesvn

https://tortoisesvn.net/downloads.html

SVN 工作流程:

20211120083802

服务端软件安装

https://www.visualsvn.com/server/download/

20211120084332

20211120084928

安装完成:

20211120085329

SVN 服务端环境配置

创建一个项目:

  • 首先在SVN服务器创建一个公有目录 WebApp 作为项目目录
  • 在WebApp 目录下创建Shop 文件夹 作为 Shop(版本仓库)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dD6Jst5u-1690943278073)(http://qiniu.xiaotao.cloud/QQ%E6%88%AA%E5%9B%BE20211120085940.png)]

  • 创建版本仓库 DOS 环境

    svnadmin create 文件夹路径
    

没有任何提示 则代表创建成功

20211120091448

创建成功

20211120091557

进行服务端监管

SVN -> svn://localhost 或(ip地址) 访问到相关数据仓库(Shop仓库)

基本语法:

svnserve -d(后台运行) -r(监管目录) 版本仓库路径 

20211120092725

通过以上指令我们的svn://localhost 或(ip地址)就可以直接指向版本仓库

权限控制

默认情况下,SVN 服务器是不允许匿名用户进行上传文件 所有我们必须修改项目相关配置文件

20211120095514

20211120095401

20211120095428

客户端软件安装

https://tortoisesvn.net/downloads.html

安装成功:

20211120100644

汉化包

20211120101153

下载安装

使用客户端软件连接SVN服务

Checkout:检出

项目目录右键 -> TortoiseSVN -> 版本库浏览器(Repo-browser)

20211120102018

右键 CheckOut:

20211120110443

20211120102445

OK

20211120102541

查看隐藏目录:

20211120102701

SVN 使用

提交到远程 commit

  • svn 三大指令:

    • Checkout 检出: 连接到SVN 服务器 更新服务器端数据到本地

      注意:Checkout 只在第一次链接是操作使用 后面更新使用 Update

    • commit 提交:提交本地数据到服务器

20211120104812

20211120105231

提交成功

20211120110649

克隆到本地

张三:

新建文件:

同上 Checkout -> Repo-browser

20211120111017

20211120111317

20211120111339

检出成功:

20211120111400

update

20211120112002

提交成功 步骤同上:

20211120112039

项目经理需要看到今天zhang 的工作:

20211120112125

右键 SVN update

20211120112301

SVN 图标集

设置 可以进行图标修改

20211120114909

图标不显示

20211120114350

解决:

Win+R —> regedit —> 找到:HKEY_LOCAL_MACHINE——SOFTWARE——Microsoft——Windows——CurrentVersion——Explorer——ShellIconOverlayIdentifiers

20211120114557

在任务管理器终止 explorer.exe 进程

重新运行即可

图标含义

20211120115038

**绿色对勾:**表示一个新检出的工作复本使用绿色的对勾做重载。表示Subversion状态正常.

**红色叹号:**表示在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被修改过,需要被提交。

**黄色叹号:**表示如果在提交的过程中出现了冲突图标变成黄色感叹号。

**灰色对勾:**表示如果你给一个文件设置了svn:needs-lock属性,Subversion会让此文件只读,直到你获得文件锁。只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。

**黄色小锁:**表示如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。

**红色叉号:**表示这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。

**蓝色加号:**表示加号告诉你有一个文件或是目录已经被计划加入版本控制。

忽略文件

有些文件不希望上传至SVN 服务器 应该将这些文件添加至忽略文件

在要忽略文件上 右键

image-20211120115743112

20211120115922

忽略后提交就不会显示

版本回退

20211120120606

20211120120821

20211120121046

显示日志:

20211120121145

选择对应版本确定即可

版本冲突

在项目开发中 如果两个人同时修改某个文件就会出现版本冲突

20211120121735

20211120122348

li

20211120122526

20211120122615

xiao

20211120122734

当xiao 提交是就会出现冲突 无法提交

20211120122831

OK

20211120142911

20211120142947

20211120143013

通过SVN 解决

  • 跟新服务器端数据到本地

20211120143135

index.html : 整合后的 index.html 文件

index.html.mine : 后一个人提交的文件

index.html.r1 : 代表两人检出项目之前当前状态

index.html.r2 : 前一个人修改后的文件

  • 删除除 index.html 以为的文件
  • 修改整合后 index.html 的冲突文件

修改前

20211120144404

修改后

20211120144542

  • 重新提交数据到SVN 服务器

20211120144700

成功提交

20211120144735

配置多仓库

在实际项目开发中 我们可能会同时开发多个项目 我们怎么样同时监管多个项目呢?

通过 svnserve 进行项目监管 只能监管某一个文件夹 而不能同时监管多个仓库

解决方式

因为在实际开发中 我们的所有项目 都是放在 WebApp 目录下 所以我们直接监管 WebApp 目录 即可

20211120151026

20211120151104

访问:

Shop

svn://localhost/Shop

Wechat

svn://localhost/Wechat

权限控制

如果要使用权限控制:必须要开启权限功能 在每个仓库里面都有三个文件

ahthz 文件:授权文件

告诉哪些用户具有哪些权限

password 文件: 认证文件

标识当前SVN 系统中某个仓库具有哪些用户及相应的密码

默认情况下 以上两个文件都是禁用的 需要使用 需要先开启

  • 禁用匿名用户可读可写权限

20211120152213

  • 开启授权 认证 文件

20211120152326

  • 配置认证文件

20211120152632

  • 配置授权文件

20211120153039

20211120153443

20211122081631

20211122082143

配置自启动

sc create 服务名称 binpath=空格"svnserve.exe --service -r D:/svn/WebApp" start=空格autosc create SVNService binpath= "C:\Program Files\VisualSVN Server\bin\svnserve.exe --service -r C:\Program Files\VisualSVN Server\WebApp" start= auto

20211122183701

模拟真实开发环境

20211122185155

相关文章:

svn工具使用

svn 介绍 解决之道: SCM:软件配置管理 所谓的软件配置管理实际就是对软件源代码进行控制与管理 CVS:元老级产品 VSS:入门级产品 ClearCase:IBM 公司提供技术支持 SVN:主流产品 什么是SVN&#xff…...

SpringBoot项目使用MyBatisX+Apifox IDEA 插件快速开发

今天跟大家介绍两个快速开发项目的插件。能大大提高开发效率。希望能帮助到大家。 1、MyBatisX 插件 MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题&#xf…...

Redis数据结构

Redis 支持的数据结构的列表 1、String:字符串,是 Redis 最基本的数据类型,可以存储字符串、整数和浮点数。 2、Hash:哈希表,由多个键值对组成,可以储存多个字段和值。 3、List:列表&#xff0c…...

解密Redis:应对面试中的缓存相关问题

文章目录 1. 缓存穿透问题及解决方案2. 缓存击穿问题及解决方案3. 缓存雪崩问题及解决方案4. Redis的数据持久化5. Redis的过期删除策略和数据淘汰策略6. Redis分布式锁和主从同步7. Redis集群方案8. Redis的数据一致性保障和高可用性方案 导语: 在面试过程中&#…...

读取application-dev.properties的中文乱码【bug】

读取application-dev.properties的中文编码【bug】 2023-7-30 22:37:46 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是https://blog.csdn.net/qq_51625007 禁止其他平台发布时删除以上此话 bug 读取application-dev.propert…...

Linux(centos7)如何实现配置iscsi存储多路径 及DM-Multipath的配置文件概述

安装多路径软件(系统默认安装) #第一:安装多路径软件yum -y install device-mapper device-mapper-multipath#第二:在CentOS7中启用多路径模块,mpathconf命令及相关模块加载(可以使用mpathconf -h查看用法&…...

DK7 vs JDK8 vs JDK11特性和功能的对比

JDK7 vs JDK8 vs JDK11特性和功能的对比 Java Development Kit (JDK) 是 Java 程序员所使用的开发工具包,它提供了编译、调试和运行 Java 程序所需的一切。JDK 在不同的版本中引入了许多新的特性和功能,下面我们来比较 JDK7、JDK8 和 JDK11 之间的一些重…...

你觉得企业为什么需要数据分析?

数据对于企业的作用就好比,一位士兵作战需要手枪一样,仅仅只是作为一项工具,帮助我们提高取得胜利的几率或者概率。数据只是数据,不代表业务,所起的作用也是有限的,网上那些夸大数据作用的,没有…...

SVN学习

SVN学习 以下总结是看了一个b站up主的视频总结出来的。 1. 简介 SVN是代码版本管理工具,它能记住每次的修改、查看所有修改记录、恢复到任何历史版本和恢复已经删除的文件。 SVN比起Git的好处就是使用简单,上手快;具备目录级权限控制&…...

vim怎么使用,vim使用教程,vimtutor怎么切换中文 汉化

vim 使用 在安装了 vim 的 unix 系统下可以使用 vimtutor zh_cn 开启下面的教程 序言 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.7 Vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中就不详细介绍了。本教程的…...

[golang gin框架] 43.Gin商城项目-微服务实战之后台Rbac微服务之管理员的增删改查以及管理员和角色关联

上一节讲解了后台Rbac微服务角色增删改查微服务,这里讲解权限管理Rbac微服务管理员的增删改查微服务以及管理员和角色关联微服务功能 一.实现后台权限管理Rbac之管理员增删改查微服务服务端功能 1.创建Manager模型 要实现管理员的增删改查,就需要创建对应的模型,故在server/r…...

2023-07-31力扣每日一题

链接: 143. 重排链表 题意: 将链表L0 → L1 → … → Ln - 1 → Ln变成L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 解: 线性表法还是好写的 这边搞一下翻转法,快慢指针求翻转点(翻转后面一半然后双指针合并…...

接口自动化报告,生成本地服务并自动打开时失败

错误原因: 端口号被占用 首先可以在cmd中调出命令窗口然后执行命令netstat -ano就可以查看所有活动的链接,找到被占用的端口号 1、通过命令taskkill /f /t /im "进程名称" ,根据进程的名称杀掉所有的进程。或者taskkill /f /t /p…...

Git 的基本概念和使用方式

Git 是一种分布式版本控制系统,它能够记录文件内容的变化,并且允许用户在这些变化之间轻松地进行切换。 Git 的基本概念如下: 1. 仓库(Repository):Git 存放项目代码的地方。通常,一个仓库对应一…...

【JVM】(三) 深入理解JVM垃圾回收机制(GC)

文章目录 前言一、死亡对象的判断方法1.1 引用计数算法1.2 可达性分析算法 二、垃圾回收算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法2.5 分代算法2.6 Minor GC 和 Major GC 前言 JVM 的垃圾回收机制(Garbage Collection)是 Java 中的重要特性之…...

Flink CEP(二) 运行源码解析

通过DemoApp学习一下&#xff0c;CEP的源码执行逻辑。为下一篇实现CEP动态Pattern奠定理论基础。 1. Pattern的定义 Pattern<Tuple3<String, Long, String>,?> pattern Pattern.<Tuple3<String, Long, String>>begin("begin").where(new…...

剑指Offer-学习计划(四)双指针(下)

剑指 Offer 57. 和为s的两个数字 剑指 Offer 58 - I. 翻转单词顺序 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目一&#xff1a;调整数组顺序使奇数位于偶数前面 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的…...

深度学习——常见注意力机制

1.SENet SENet属于通道注意力机制。2017年提出&#xff0c;是imageNet最后的冠军 SENet采用的方法是对于特征层赋予权值。 重点在于如何赋权 1.将输入信息的所有通道平均池化。 2.平均池化后进行两次全连接&#xff0c;第一次全连接链接的神经元较少&#xff0c;第二次全连…...

Python 进阶(七):高级文件操作(shutil 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. 简介2. 常用函数2.1 复制文件2.2 复制目录2.3 移动文件或目录2.4 删除文件或目录2.…...

保留网络:大型语言模型的Transformer继任者

原文信息 原文题目&#xff1a;《Retentive Network: A Successor to Transformer for Large Language Models》 原文引用&#xff1a;Sun Y, Dong L, Huang S, et al. Retentive Network: A Successor to Transformer for Large Language Models[J]. arXiv preprint arXiv:2…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...