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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55641.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用gitee创建远程maven仓库

1. 创建一个项目作为远程仓库 2. 打包项目发布到远程仓库 id随意&#xff0c;url是打包到哪个文件夹里面 在需要打包的项目的pom中添加 <distributionManagement><repository><id>handsomehuang-maven</id><url>file:D:/workspace/java/2023/re…

[openCV]基于拟合中线的智能车巡线方案V1

import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir&#xff1a;文件夹根目录输入 ext: 扩展名返回&#xff1a; 文件路径列表"""newDir d…

侯捷 C++面向对象编程笔记——9 复合 委托

9 复合 委托 9.1 Composition 复合 类似于c中结构里有结构——class里有class deque 是一个已经存在的功能很多的类&#xff08;两头进出的队列&#xff09;&#xff1b;利用deque的功能来实现queue的多种操作 该例只是复合的一种情况——设计模式 Adapter 9.1.1 复合下的构造…

第一课-前提-Stable Diffusion 教程

学习 SD 的前提是电脑配置! SD 参考配置: 建议选择台式机 i5 CPU, 内存16GB,N卡 RTX3060, 8G显存以上的配置(最低配) 在此基础上的配置越高越好。 比如,cpu i7 更好,显卡能有 RTX4090 更好,32显存要能有最好,嘿嘿嘿。 如何查看自己的显卡配置? Win+R 输入 “dxdiag…

编译LightGBM错误处理记录

在LightGBM源码中新建文件夹build&#xff0c;然后在build目录下运行命令 cmake -A x64 -DUSE_GPU1 -DBOOST_ROOTC:\local\boost_1_82_0 -DBOOST_LIBRARYDIRC:\local\boost_1_82_0\lib64-msvc-14.3 .. 报错 错误原因&#xff1a; miniconda3\Library\lib\cmake\中boost版本是…

基于facenet+faiss开发构建人脸识别系统

facenet是一款非常经典的神经网络模型&#xff0c;它可以直接学习从人脸图像到欧几里德空间的映射(直接将人脸映射到欧几里得空间)。在欧几里德空间中&#xff0c;距离直接对应于人脸相似性的度量。一旦这个空间产生&#xff0c;使用标准技术&#xff0c;将FaceNet嵌入作为特征…

车载软件架构 —— 车载软件安全启动关键技术解读

车载软件架构 —— 车载软件安全启动关键技术解读 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生…

【java】继承

java继承 继承的基本概念super、this构造方法 继承的基本概念 面向对象中有3个重要的特征&#xff1a;继承、封装、多态。继承就是子类继承父类的特征和行为&#xff0c;使得子类对象&#xff08;实例&#xff09;具有父类的实例域和方法&#xff0c;或子类从父类继承方法&…

Mac 安装不在 Apple 商店授权的应用程序

文章目录 一、场景介绍二、实操说明 一、场景介绍 在日常的工作生活中&#xff0c;发现一些好用的应用程序&#xff0c;但是出于某些原因&#xff0c;应用程序的开发者并没有将安装包上架到苹果商店。 那么这些优秀的应用程序下载安装以后就会出现如下弹框被拒之门外 二、实操…

Spring Boot读取yml或者properties配置信息

文章目录 Spring Boot读取yml或者properties配置信息方法一&#xff1a;Value获取基本信息&#xff0c;适用于少量信息方法二&#xff1a;通过注解ConfigurationProperties(prefix "spring.datasource")方法三&#xff1a;通过api Environment Spring Boot读取yml或…

Flask简介与基础入门

一、了解框架 Flask作为Web框架&#xff0c;它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。Web应用程序 (World Wide Web)诞生最初的目的&#xff0c;是为了利用互联网交流工作文档。 1、一切从客户端发起请求开始。 所有Flask程序都必须创建一个程序…

vue diff 双端比较算法

文章目录 双端指针比较策略命中策略四命中策略二命中策略三命中策略一未命中四种策略&#xff0c;遍历旧节点列表新增情况一新增情况二 删除节点双端比较的优势 双端指针 使用四个变量 oldStartIdx、oldEndIdx、newStartIdx 以及 newEndIdx 分别存储旧 children 和新 children …