svn工具使用
svn
介绍
- 解决之道:
SCM:软件配置管理
所谓的软件配置管理实际就是对软件源代码进行控制与管理
CVS:元老级产品
VSS:入门级产品
ClearCase:IBM 公司提供技术支持
SVN:主流产品
- 什么是SVN?
- SVN 全称SubVersion
- SVN 是CVS 的接班人
特点:操作简单 入门容易
支持跨平台操作(Window,Linux,MacOS)
支持版本回退
- 获取SVN软件
属于C/S架构软件(客户端 与 服务器)
服务端软件:visualsvn
https://www.visualsvn.com/server/download/
客户端软件:tortoisesvn
https://tortoisesvn.net/downloads.html
SVN 工作流程:
服务端软件安装
https://www.visualsvn.com/server/download/
安装完成:
SVN 服务端环境配置
创建一个项目:
- 首先在SVN服务器创建一个公有目录 WebApp 作为项目目录
- 在WebApp 目录下创建Shop 文件夹 作为 Shop(版本仓库)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dD6Jst5u-1690943278073)(http://qiniu.xiaotao.cloud/QQ%E6%88%AA%E5%9B%BE20211120085940.png)]
-
创建版本仓库 DOS 环境
svnadmin create 文件夹路径
没有任何提示 则代表创建成功
创建成功
进行服务端监管
SVN -> svn://localhost 或(ip地址) 访问到相关数据仓库(Shop仓库)
基本语法:
svnserve -d(后台运行) -r(监管目录) 版本仓库路径
通过以上指令我们的svn://localhost 或(ip地址)就可以直接指向版本仓库
权限控制
默认情况下,SVN 服务器是不允许匿名用户进行上传文件 所有我们必须修改项目相关配置文件
客户端软件安装
https://tortoisesvn.net/downloads.html
安装成功:
汉化包
下载安装
使用客户端软件连接SVN服务
Checkout:检出
项目目录右键 -> TortoiseSVN -> 版本库浏览器(Repo-browser)
右键 CheckOut:
OK
查看隐藏目录:
SVN 使用
提交到远程 commit
-
svn 三大指令:
-
Checkout 检出: 连接到SVN 服务器 更新服务器端数据到本地
注意:Checkout 只在第一次链接是操作使用 后面更新使用 Update
-
commit 提交:提交本地数据到服务器
-
提交成功
克隆到本地
张三:
新建文件:
同上 Checkout -> Repo-browser
检出成功:
update
提交成功 步骤同上:
项目经理需要看到今天zhang 的工作:
右键 SVN update
SVN 图标集
设置 可以进行图标修改
图标不显示
解决:
Win+R —> regedit —> 找到:HKEY_LOCAL_MACHINE——SOFTWARE——Microsoft——Windows——CurrentVersion——Explorer——ShellIconOverlayIdentifiers
在任务管理器终止 explorer.exe 进程
重新运行即可
图标含义
**绿色对勾:**表示一个新检出的工作复本使用绿色的对勾做重载。表示Subversion状态正常.
**红色叹号:**表示在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被修改过,需要被提交。
**黄色叹号:**表示如果在提交的过程中出现了冲突图标变成黄色感叹号。
**灰色对勾:**表示如果你给一个文件设置了svn:needs-lock属性,Subversion会让此文件只读,直到你获得文件锁。只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。
**黄色小锁:**表示如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
**红色叉号:**表示这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。
**蓝色加号:**表示加号告诉你有一个文件或是目录已经被计划加入版本控制。
忽略文件
有些文件不希望上传至SVN 服务器 应该将这些文件添加至忽略文件
在要忽略文件上 右键
忽略后提交就不会显示
版本回退
显示日志:
选择对应版本确定即可
版本冲突
在项目开发中 如果两个人同时修改某个文件就会出现版本冲突
li
xiao
当xiao 提交是就会出现冲突 无法提交
OK
通过SVN 解决
- 跟新服务器端数据到本地
index.html : 整合后的 index.html 文件
index.html.mine : 后一个人提交的文件
index.html.r1 : 代表两人检出项目之前当前状态
index.html.r2 : 前一个人修改后的文件
- 删除除 index.html 以为的文件
- 修改整合后 index.html 的冲突文件
修改前
修改后
- 重新提交数据到SVN 服务器
成功提交
配置多仓库
在实际项目开发中 我们可能会同时开发多个项目 我们怎么样同时监管多个项目呢?
通过 svnserve 进行项目监管 只能监管某一个文件夹 而不能同时监管多个仓库
解决方式
因为在实际开发中 我们的所有项目 都是放在 WebApp 目录下 所以我们直接监管 WebApp 目录 即可
访问:
Shop
svn://localhost/Shop
svn://localhost/Wechat
权限控制
如果要使用权限控制:必须要开启权限功能 在每个仓库里面都有三个文件
ahthz 文件:授权文件
告诉哪些用户具有哪些权限
password 文件: 认证文件
标识当前SVN 系统中某个仓库具有哪些用户及相应的密码
默认情况下 以上两个文件都是禁用的 需要使用 需要先开启
- 禁用匿名用户可读可写权限
- 开启授权 认证 文件
- 配置认证文件
- 配置授权文件
配置自启动
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
模拟真实开发环境
相关文章:

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

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

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

解密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学习一下,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. 调整数组顺序使奇数位于偶数前面 题目一:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的…...

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

Python 进阶(七):高级文件操作(shutil 模块)
❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录 1. 简介2. 常用函数2.1 复制文件2.2 复制目录2.3 移动文件或目录2.4 删除文件或目录2.…...

保留网络:大型语言模型的Transformer继任者
原文信息 原文题目:《Retentive Network: A Successor to Transformer for Large Language Models》 原文引用:Sun Y, Dong L, Huang S, et al. Retentive Network: A Successor to Transformer for Large Language Models[J]. arXiv preprint arXiv:2…...

算法通关村第二关——反转链表青铜笔记
LeetCode 206.反转链表 建立虚拟结点辅助翻转 public ListNode reverseList(ListNode head) {ListNode ans new ListNode(-1);ListNode cur head;while(cur!null){ListNode curNext cur.next;cur.next ans.next;ans.next cur;cur curNext;}return ans.next; }不带虚拟头…...

【Linux】——线程安全
目录 关于线程进程的问题 可重入与线程安全 常见的线程安全的情况 常见的不可重入的情况 常见的可重入的情况 可重入与线程安全区别 可重入与线程安全联系 Linux线程互斥 进程线程间的互斥相关概念 互斥量mutex 互斥量mutex常用接口 互斥量改造抢票系统 互斥量的原…...

[React]生命周期
前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1、getDefaultProps() 设置默认的props,也可以用duf…...

【2023】Redis实现消息队列的方式汇总以及代码实现
Redis实现消息队列的方式汇总以及代码实现 前言开始前准备1、添加依赖2、添加配置的Bean 具体实现一、从最简单的开始:List 队列代码实现 二、发布订阅模式:Pub/Sub1、使用RedisMessageListenerContainer实现订阅2、还可以使用redisTemplate实现订阅 三、…...

ARM裸机-10
1、X210开发板和光盘资料 1.1、配置信息 CPU:三星S5PV210 内存:512M DDR2 SDRAM Flash:4GB iBand LCD:7寸,分辨率800x480 触摸屏:电容触摸屏 2、X210开发板硬件手册 3、X210开发板刷系统 3.1、什么是刷…...

「C/C++」C/C++指针详解
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C」C/C程序设计「Win」Windows程序设计「算法」数据结构与算法「File」数据文件格式 目录 一、术语…...

提高电脑寿命的维护技巧与方法分享
在维护电脑运行方面,我有一些自己觉得非常有用的技巧和方法。下面我将分享一些我常用的维护技巧,并解释为什么我会选择这样做以及这样做的好处。 首先,我经常清理我的电脑内部的灰尘。电脑内部的灰尘会影响散热效果,导致电脑发热…...

React常见面试题
React常见面试题 一、React中的样式管理有哪些方法 内联样式:对象,作用于当前组件普通样式表: 作用于全局,文件名是:xxx.scssCSS模块:类似Vue的scoped, 文件名需是:xxx.module.scs…...

C++中数据的输入输出介绍
C中数据的输入输出介绍 C中数据的输入输出涉及到的文件 <iostream>:这是C标准库中最常用的头文件之一,包含了进行标准输入输出操作的类和对象,如std::cin、std::cout、std::endl等。 <iomanip>:该头文件提供了一些用…...

0101日志-运维-mysql
1 错误日志 错误日志(Error Log):错误日志记录了MySQL引擎在运行过程中出现的错误和异常情况。这些错误可能包括启动和关闭问题、数据库崩溃、权限问题等。错误日志对于排查和解决MySQL引擎问题非常有帮助。 改日志默认开启,默认存…...