svn使用
一、SVN概述
1.1为什么需要SVN版本控制软件
1.2解决之道
SCM:软件配置管理
所谓的软件配置管理实际就是对软件源代码进行控制与管理
CVS:元老级产品
VSS:入门级产品
ClearCase:IBM公司提供技术支持,中坚级产品
1.3什么是SVN
- SVN全称SubVersion
- SVN是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数软件公司都使用SVN作为代码版本管理软件。
特点:操作简单,入门容易
支持跨平台(Window/Linux/MacOS)
支持版本回退功能(时间机器)
1.4获取SVN软件
属于C/S结构软件(客户端与服务器端)
服务端软件:VisualSVN
网址:VisualSVN - Subversion-based version control for Windows
客户端软件:TortoiseSVN
网址:
http://tortoisesvn.net/downloads
二、SVN软件安装
2.1SVN工作流程
2.2服务器端软件安装(VisualSVN)
服务端软件存储于软件/服务器端
1.双击服务端软件安装
2.下一步,继续
3.下一步,继续
4.下一步,继续
5.下一步,继续,安全完成。
三、SVN服务端配置
3.1创建一个项目
1.首先在SVN服务器端创建一个公有目录WebApp做为项目目录
2.在WebApp目录下创建Shop文件夹,做为Shop(版本仓库)
3. 创建版本仓库,基本语法:
svnadmin create Shop 文件夹路径(Shop仓库)
如果Shop仓库配置成功,那么Shop文件夹会显示以下目录结构
3.2进行服务端监管
Apacheàhttp://localhost或(ip地址)访问到htdocs目录下的相关文件(监管)
SVNàsvn://localhost或(ip地址)访问到相关数据仓库(如Shop仓库)
基本语法:
svnserve -d(后台运行) -r(监管目录) 版本仓库目录
如下图所示:
通过以上指令,我们的svn://localhost或ip地址就可以直接指向Shop版本仓库
3.3权限控制
默认情况下,SVN服务器是不允许匿名用户上传文件到服务器端的,所以必须更改系统相关配置文件。
更改第19行代码,去除前面的空格以及#号,更改其值为write(可读写)
四、SVN客户端软件安装与使用
4.1获取软件安装包
4.2确认操作系统位数
32位操作系统
64位操作系统
如何确认操作系统位数呢?可以在计算机图标上鼠标右键à属性,如下图所示
通过以上分析可知,我们需要安装64位客户端软件。
4.3客户端软件安装步骤
① 双击软件运行(TortoiseSVN)
② 同意许可协议,下一步:
③ 选择默认安装即可,下一步
④ 下一步,Install,系统将会自动安装SVN软件,单击Finish即可。
注:在TortoiseSVN客户端软件安装完毕后,请一定要重启计算机,否则SVN图标是无法显示的。
如果我们鼠标右键出现如下两个图标,代表我们已经安装成功!
⑤ 安装汉化包
双击运行安装语言包,系统将会自动寻找之前TortoiseSVN软件安装目录,并进行自动安装,安装完成后可以进行如下设置:
⑥ 使用客户端软件连接SVN服务器
(Checkout检出)
首先在你的项目目录鼠标右键àTortoiseSVNà版本库浏览器à输出SVN服务器地址:
svn://SVN服务器地址à Shop项目(仓库)
显示隐藏文件
如果出现以上.svn隐藏文件夹,代表检出成功。
五、SVN使用详解(一)
5.1回顾SVN三大指令
1)(Checkout)检出操作:① 链接到SVN服务器端 ② 更新服务端数据到本地
注意:Checkout只在第一次链接时操作一次,以后如果进行更新操作请使用Update(更新指令)
2)(Commit)提交操作:① 提交本地数据到服务器端
以上工作大部分是由项目经理完成的,那么如果公司新来一个程序员(李四),他需要做哪些操作呢?
1)检出操作,效果如下:
2)Commit(提交),效果如下:
以上指令通常是在模块开发完毕后上传
3)项目经理(Update更新操作)
六、SVN使用详解(二)
6.1图标集
1.常规图标
含义:当客户端文件与服务器端文件完全同步时,系统会显示以上图标
2.冲突图标
含义:当客户端提交的文件与服务器端数据有冲突,系统会显示以上图标
3.删除图标
含义:当服务端数据已删除,那么客户端该文件将显示以上图标
4.增加图标
含义:当我们编写文档已添加到提交队列,那么系统将自动显示以上图标
5.无版本控制图标
含义:当我们编写的文件没有添加到上传队列,系统将自动显示以上图标
6.修改图标
含义:当客户端文件有修改但未提交,此时将自动显示以上图标
7.只读图标
含义:当客户端文件以只读形式存在时,将自动显示以上图标
8.锁定图标
含义:当服务端数据已锁定,那么客户端文件将自动显示以上图标
9.忽略图标
含义:客户端文件已忽略,不需要进行提交上传,那么将自动显示以上图标
6.2忽略功能
有些文件不希望上传至svn服务器,应该将该文件或该类型的文件添加至忽略列表
1.忽略某个指定的文件
2.忽略某类型文件
七、SVN使用详解(三)
7.1什么是版本回退
有些时候,软件的运行可能使开发者或使用者不满意,这时我们需要把当前版本退回到以前的某个版本。
7.2版本回退功能
① 在项目空白处鼠标右键,采用如下图所示操作
根据日志进行版本回退
根据日志信息选择要回退的状态,效果如下图所示
回退效果如下:
八、SVN使用详解(四)
8.1什么是版本冲突
在实际项目开发中,如果两个人同时修改某个文件就会产生版本冲突问题
8.2模拟版本冲突
模拟以上过程,出现如下错误提示:
8.3解决之道
1.合理分配项目开发时间
旺财 上午开发
小强 下午开发
2.合理分配项目开发模块
旺财 购物车模块
小强 文章模块
3.通过SVN解决版本冲突问题
① 更新服务器端数据到本地
index.php :整合后的index.php文件
index.php.mine :小强修改后的index.php文件
index.php.r6 :09:00更新时的index.php(起始状态)
index.php.r7 :旺财修改后的index.php文件
② 删除除index.php以外的其他三个文件
③ 修改整合index.php冲突文件
④ 重新提交数据到SVN服务器端,即可解决版本冲突问题
九、配置多仓库与权限控制
9.1配置多仓库
在实际项目开发中,我们可能会同时开发多个项目,那么我们如何进行多项目监管呢?
通过svnserve进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。
答:可以通过监管WebApp总目录来达到监管所有仓库的目的
svnserve -d(后台运行) -r(监管目录) WebApp(项目总目录)
① 打开DOS窗口,输入如下指令
svn://localhost或ip地址来访问D:/svn/WebApp目录
如果需要访问Shop项目、Wechat项目
Shop项目:svn://localhost/Shop
Wechat项目:svn://localhost/Wechat
9.2权限控制
如果要使用权限控制有一个前提:必须首先开启权限功能
在每一个仓库中都有一个conf文件夹,里面有三个文件
authz文件:授权文件
告诉哪些用户具有哪些权限
passwd文件:认证文件
标识当前svn系统中某个仓库具有哪些用户以及相应的密码
默认情况下,以上两个文件都是禁用的,如需要使用,首先要开启以上两个文件
svnserve.conf 配置文件
开启步骤如下:
1.注释匿名用户的可读写权限
2.开启认证文件与授权文件
3.编写认证文件定义相关用户名与密码
4.编写授权文件
5.测试
输入admin,admin888超级管理员
十、SVN服务的配置与管理
10.1配置自启动服务
sc create SVNService binpath= “D:\subversion\bin\svnserve.exe --service -r D:/svnroot” start= auto
sc create 服务名称 binpath=空格”svnserve.exe –service –r D:/svn/WebApp” start=空格auto
创建系统服务,服务名SVNService
1.打开运行,输入cmd指令,打开DOS环境(请使用超级管理员运行)
2.输入一下指令
3.查看系统服务
控制面板-->管理工具-->服务
双击运行,启动SVNService服务
如果运行成功代表开启SVN监管服务。
10.2创建批处理文件
启动服务 net start 服务名称
停止服务 net stop 服务名称
删除服务 sc delete 服务名称
以上功能在实际项目开发中经常使用,所以可以封装为.bat批处理文件,效果如下:
十一、模拟真实的开发环境
1、SVN工作流程
2、钩子程序
所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改。
默认情况下,钩子的子目录(版本仓库/hooks/)中包含各种版本库钩子模板。
post-commit.tmpl :事务完成后所触发的钩子程序
钩子程序默认情况可以采用批处理指令或Shell指令来进行编写
3、通过批处理指令编写钩子程序
① 指令svn服务端工作目录
设置服务器端SVN路径
SET SVN="D:\svn\bin\svn.exe“
② 指定Web服务器工作目录
设置服务器端项目运行目录
SET DIR="D:\server\apache\htdocs\shop"
③ 通过update指令实时更新数据到DIR目录中
SVN update %DIR%
4、具体使用步骤
第一步:复制post-commit.tmpl为post-commit.bat文件
第二步:填入相关批处理指令
第三步:在apache目录创建Shop项目并更新SVN服务端数据到本地
第四步:更新文件到SVN服务器端,可以在Shop目录实时获取到最新数据
第五步:可以通过虚拟主机形式直接访问更新文件
十二、SVN扩展程序
12.1什么是BAE云引擎
百度应用引擎(BAE)是百度推出的网络应用开发平台。基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。
开发者可以基于BAE平台进行PHP、Java、Python、Nodejs应用的开发、编译、发布、调试。
12.2如何使用BAE云引擎
BAE地址:百度智能云-智能时代基础设施
进入部署列表(BAE管理平台)
1.添加部署
创建成功,如下图所示
单击管理控制台,如下图所示
2.SVN管理
通过SVN进行检出操作(之后可以向SVN服务器中添加或下载相关数据)
3.提交服务(Commit)
当我们的BAE服务器有数据的更新时,系统会自动弹出以下提示:
单击快捷发布
相关文章:
svn使用
一、SVN概述 1.1为什么需要SVN版本控制软件 1.2解决之道 SCM:软件配置管理 所谓的软件配置管理实际就是对软件源代码进行控制与管理 CVS:元老级产品 VSS:入门级产品 ClearCase:IBM公司提供技术支持,中坚级产品 1.…...
LeetCode 1487. Making File Names Unique【字符串,哈希表】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
Java——电话号码的字母组合
题目链接 leetcode在线oj题——电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 题目示例…...
LDR6028市面上最具有性价比的Type-C OTG音频协议方案
目前市面上的大部分手机都取消了3.5mm音频耳机接口,仅保留一个Type-C接口,但是追求音质和零延迟的用户仍然会选择3.5mm有线耳机,因为在玩手机游戏的时候,音画不同步真的很影响游戏体验,所以Type-C转3.5mm接口线应运而生…...
SpringMVC-0228
一、SpringMVC简介1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据补充:框架其实就是配置文件jar包JavaBean分为两类ÿ…...
【测试岗】那个准点下班的人,比我先升职了...
前言 陈双喜最近心态很崩。和他同期一道进公司的陈琪又升了一级,可是明明大家在进公司时,陈琪不论是学历还是工作经验,样样都不如自己,眼下不过短短的两年时间便一跃在自己的职级之上,这着实让他有几分不甘心。 程双…...
【C++】适配器模式 -- stack/queue/dqueue
一、适配器模式 设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结;Java 语言非常关注设计模式,而 C 并没有太关注,但是一些常见的设计模式我们还是要学习。 迭代器模式 其实我们在前面学习 strin…...
sql server 分页查询
sql server 分页查询[toc]前言SQL server 2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录。并且下面涉及到具体例子的,设定查询第2页,每页含10条记录。首先说一下SQL server的分页与MySQL的分页的不同,mysql的分…...
RV1126新增驱动IMX415 SENSOR,实现v4l2抓图
RV1126新增驱动IMX415 SENSOR,实现v4l2抓图。1:内核dts修改&csi_dphy0 {status "okay";ports {#address-cells <1>;#size-cells <0>;port0 {reg <0>;#address-cells <1>;#size-cells <0>;mipi_in_uca…...
Hive 数据倾斜
数据倾斜,即单个节点任务所处理的数据量远大于同类型任务所处理的数据量,导致该节点成为整个作业的瓶颈,这是分布式系统不可能避免的问题。从本质来说,导致数据倾斜有两种原因,一是任务读取大文件,二是任务…...
2月刚上岸字节跳动测试岗面经
这时候发应该还不算太晚,金三银四找工作的小伙伴需要的可以看看。 一、测试工程师的工作是什么? 测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。 首先很明显的bug开发人员有时候自己就能找到,测…...
图解KMP算法
子串的定位操作通常称作串的模式匹配。你可以理解为在一篇英语文章中查找某个单词是否存在,或者说在一个主串中寻找某子串是否存在。朴素的模式匹配算法假设我们要从下面的主串S "goodgoogle" 中,找到T "google" 这个子串的位置。…...
Java Map和Set
目录1. 二叉排序树(二叉搜索树)1.1 二叉搜索树的查找1.2 二叉搜索树的插入1.3 二叉搜索树的删除(7种情况)1.4 二叉搜索树和TreeMap、TreeSet的关系2. Map和Set的区别与联系2.1 从接口框架的角度分析2.2 从存储的模型角度分析【2种模型】3. 关于Map3.1 Ma…...
【C/C++ 数据结构】-八大排序之 冒泡排序快速排序
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【C/C数据结构与算法】 分享:那我便像你一样,永远躲在水面之下,面具之后! ——《画江湖之不良人》 主要内容:八大排序选…...
苹果ipa软件下载网站和软件的汇总
随着时间的流逝,做苹果版软件安装包下载网站和软件的渐渐多了起来。 当然,已经关站、停运、下架、倒闭的苹果软件下载网站和软件我就不说了,也不必多说那些关站停运下架倒闭的网站和软件了。 下面我统计介绍的就是苹果软件安装包下载网站和软…...
深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)
文章目录膨胀卷积为什么需要膨胀卷积gridding effect连续使用三次膨胀卷积——1连续使用三次膨胀卷积——2连续使用三次膨胀卷积——3Understanding Convolution for Semantic Segmentation膨胀卷积 膨胀卷积,又叫空洞卷积。 左边是普通卷积,右边是膨胀…...
【10】SCI易中期刊推荐——工程技术-计算机:人工智能(中科院2区)
🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…...
模电计算反馈系数,有时候转化为计算电阻分压的问题
模电计算反馈系数,有时候转化为计算电阻分压的问题 如果是电压反馈,F的除数是Uo 如果是电流反馈,F的除数是Io 串联反馈,F的分子是Uf 并联反馈,F的分子是If 点个赞呗,大家一起加油学习!...
专治Java底子差,不要再认为泛型就是一对尖括号了
文章目录一、泛型1.1 泛型概述1.2 集合泛型的使用1.2.1 未使用泛型1.2.2 使用泛型1.3 泛型类1.3.1 泛型类的使用1.2.2 泛型类的继承1.4 泛型方法1.5 泛型通配符1.5.1 通配符的使用1)参数列表带有泛型2)泛型通配符1.5.2 泛型上下边界1.6 泛型的擦除1.6.1 …...
PayPal轮询收款的那些事儿
想必做跨境电商独立站的小伙伴,对于PayPal是再熟悉不过了,PayPal是一个跨国际贸易的支付平台,对于做独立站的朋友来说跨境收款绝大部分都是依赖PayPal以及Stripe条纹了。简单来说PayPal跟国内的支付宝有点类似,但是PayPal它是跨国…...
【Linux】项目自动化构建工具——make/Makefile
目录 1.make与Makefile的关系 Makefile make 项目清理 clean .PHONY 当我们编写一个较大的软件项目时,通常需要将多个源文件编译成可执行程序或库文件。为了简化这个过程,我们可以使用 make 工具和 Makefile 文件。Makefile 文件可以帮助我们自动…...
成本降低90%,OpenAI正式开放ChαtGΡΤ
今天凌晨,OpenAI官方发布ChαtGΡΤ和Whisper的接囗,开发人员现在可以通过API使用最新的文本生成和语音转文本功能。OpenAI称:通过一系列系统级优化,自去年12月以来,ChαtGΡΤ的成本降低了90%;现在OpenAI用…...
hls.js如何播放m3u8文件(实例)?
HLS(HTTP Live Streaming)是一种视频流传输协议,是苹果推出的适用于iOS与macOS平台的流媒体传输协议。它将视频分割成若干个小段,每个小段大小一般为2~10秒不等,并通过HTTP协议进行传输。通过在每个小段之间插入若干秒…...
大数据平台建设方法论集合
文章目录从0到1建设大数据解决方案大数据集群的方法论数据集成方法论机器学习算法平台方法论BI建设的方法论云原生大数据的方法论低代码数据中台的方法论大数据SRE运维方法论批流一体化建设的方法论数据治理的方法论湖仓一体化建设的方法论数据分析挖掘方法论数字化转型方法论数…...
25- 卷积神经网络(CNN)原理 (TensorFlow系列) (深度学习)
知识要点 卷积神经网络的几个主要结构: 卷积层(Convolutions): Valid :不填充,也就是最终大小为卷积后的大小. Same:输出大小与原图大小一致,那么N 变成了N2P. padding-零填充. 池化层(Subsampli…...
把数组里面数值排成最小的数
问题描述:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{12, 567},则输出这两个能排成的最小数字12567。请给出解决问题的算法,并证明该算法。 思路:先将…...
云his系统源码 SaaS应用 基于Angular+Nginx+Java+Spring开发
云his系统源码 SaaS应用 功能易扩 统一对外接口管理 一、系统概述: 本套云HIS系统采用主流成熟技术开发,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分ÿ…...
小红书场景营销怎么做?场景营销主要模式有哪些
小红书作为新兴媒体领域的佼佼者,凭借着生动,直观,代入感等元素的分享推荐收揽了巨额的流量。但是,随着时代的脚步逐渐加快,发展和变革随之涌来,传统的营销已经无法满足。所以场景营销就出现了。今天就来和…...
c++基础——数组
数组数组是存放相同类型对象的容器,数组中存放的对象没有名字,而是要通过其所在的位置访问。数组的大小是固定的,不能随意改变数组的长度。定义数组数组的声明形如 a[b],其中,a 是数组的名字,b 是数组中元素…...
odoo15 登录界面的标题自定义
odoo15 登录界面的标题自定义 原代码中查询:<title>Odoo<title> <html> <head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Odoo</title><link rel="shortcut icon…...
鞍山网站建设鞍山/网站推广优化排名教程
进程 是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制…...
网站模板制作教程视频/百度代发排名
master进程为主进程,该进程会创建Manager进程和Reactor线程等工作进/线程Reactor线程实际运行epoll实例,用于接受客户端的链接和发来的请求 Manager进程是管理进程,该进程是为了创建管理所有的worker进程和TaskWorker进程,而TaskWorker则是manager直接生成的子进程。worker进程…...
亚马逊做网站发礼物换评价/奶茶网络营销策划方案
前言 今天研究了一下公司pc端封装的axios,主要配合element以及js-cookie,自己跟着搞了一遍,在这里记录一下。 代码 import axios from axios; import { Loading } from element-ui; import Cookies from js-cokie;//基于axios基本配置创建实例…...
为加强政协网站建设/网站源码建站
这里提供两种方法供选择:第一:手写代码。第二:利用HttpClient php类库第一种方法:$flag 0;//要post的数据$argv array(var1>abc,var2>你好吗);//构造要post的字符串foreach ($argv as $key>$value) {if ($flag!0) {$pa…...
公司做网站合同/国内seo公司排名
认识思科IPS4200系列传感器思科的***检测系统(IDS)是防火墙的补充解决方案,可以防止网络基础设施(路由器、交换机和网络带宽)和服务器(操作系统和应用层)受到拒绝服务(DoS࿰…...
wordpress文章图片粘贴固定大小/推广和竞价代运营
步骤系列文章1.异常聊天窗口2.设置使用多彩气泡3.恢复正常气泡总结系列文章 提示:转到日常小技巧专栏,观看更多内容! 点我直达–>日常小技巧专栏 1.异常聊天窗口 一开始还以为是自己的气泡过期(你可以检查一下)&a…...