svn配置教程_配置泡泡水的好方法

svn配置教程_配置泡泡水的好方法SVN实际开发环境配置及操作src=”//player.bilibili.com/player.html?aid=7959491&cid=13073189&page=1″scrolling=“no”border=“0”allowfullscreen=“true”>视频原址:黑马程序员SVN视频教程什么是SVN?SVN是Subversion的简称,是一个开放源代码…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

SVN实际开发环境配置及操作

src=”//player.bilibili.com/player.html?aid=7959491&cid=13073189&page=1″ scrolling=“no” border=“0” allowfullscreen=“true”> 视频原址:黑马程序员SVN视频教程
什么是SVN?
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
特点:
操作简单、入门简单、跨平台(MacOS 、Windows、Linux)操作 。

svn服务端
SVN是输入C/S服务类软件,有客户端和服务端。

一.SVN的服务端

Repository(源代码库):源代码统一存放的地方;
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份;
Commit(提交):当你已经修改了代码,你就需要Commit到repository;
Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更。Update(获得最新的代码) –>作出自己的修改并调试成功 –> Commit(大家就可以看到你的修改了) 。
在这里插入图片描述
安装VisualSVN Server 3.8.6
在这里插入图片描述
选择可视化界面,增加环境变量
在这里插入图片描述
选择标准版
在这里插入图片描述
不要出现中文、特殊字符和空格,端口号改为8000以后的,防止冲突
在这里插入图片描述
进度条走完,安装完毕
在这里插入图片描述

二.安装后需要进行svn仓库的前期配置工作

1.先在svn目录下建立一个WebApp文件夹;
在WebApp文件下建立Shop,目前还只是文件夹,还需要和svn产生联系;
在这里插入图片描述
3.DOS命令行下输入 svnadmin create H:\SVN\Webapp\Shop 文件夹,如果配置成功,那么Shop应该多了6个文件;
在这里插入图片描述
在这里插入图片描述
2.服务器监管

Apache— http://localhost:8080 访问htdocs目录

SVN— svn://localhost: 访问相关的数据仓库(如Shop)

svnserve -d -r H:\SVN\Webapp\Shop
会弹出警告标志,然后光标会一直闪烁

在这里插入图片描述
通过以上指令,我们的SVN://localhost或者IP地址就可以直接指向Shop文件夹了。
3.权限控制
默认情况下,SVN服务器不允许匿名用户上传文件到服务端的,所以必须更改项目的相关控制文件。

打开conf,找到svnserve.conf;
在这里插入图片描述
在这里插入图片描述
更改第19行代码如下: 权限可读可写;
在这里插入图片描述
三.svn客户端配置
1.如图安装,记得重启一下即可;
2.还可以安装汉化包。
3.配置完之后第一次牵手:checkout(检出)
打开隐藏功能如果能看到.svn这个文件夹就说明客户端和服务端连接起来了,检出成功;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用客户端软件连接SVN服务器(checkout检出)
1.首先随便建个文件夹,取名jingli;
2.在你的项目目录右键—>TortoiseSVN—>版本库浏览器—>输入SVN服务器地址;
在这里插入图片描述
svn://svn服务器地址—>Shop目录(仓库)
在这里插入图片描述
显示隐藏文件,检出OK!
在这里插入图片描述

svn使用详解
1.启动服务器 svnserve -d -r H:\SVN\Webapp\Shop;
2.在新增文件页面右键—>提交;
3.填写必要信息,方便版本回退;
在这里插入图片描述
更新完毕;
在这里插入图片描述
如果有新员工李四狗加入公司,他应该如何下载项目源码呢?

1.首先建立lisigou文件夹,然后打开版本库浏览器;

在这里插入图片描述
2.输入svn地址
在这里插入图片描述
3.可看到之前的历史版本;
在这里插入图片描述
4.检出操作,下载源码到lisgou;
在这里插入图片描述
成功检出
在这里插入图片描述
如果李四狗也需要提交自己的代码,提交,服务器会同步更新;

四.svn中的图标集

在这里插入图片描述

五.版本回退问题

1.什么是版本回退
在这里插入图片描述
2.版本回退功能

1.经理删除了index.php,提交;
在这里插入图片描述
2.经理发现删错了,需要回退;

3.选择根据日志回退;
在这里插入图片描述
更新;
在这里插入图片描述
3.版本冲突
在这里插入图片描述
在这里插入图片描述
解决之道
避免版本冲突:
合理分配项目开发时间;
合理分派项目开发模块。

配置多仓库与权限

多仓库管理的可同通过svnserve -d -r svn仓库总目录的方式来监管所有的仓库;
svnserve -d -r D:\VisualSVNServer\webApp 实现多仓库同时进行监管;
监管总目录权限限制
authz:授权文件,告诉用户有哪些权限
passwd:认证文件,表示用户名和密码
默认情况、两个文件都是禁用的,必须要开启上面两个文件,具体步骤如下:
1.注释匿名用户可读写的权限;
在这里插入图片描述
2.开启认证和授权文件;
在这里插入图片描述
3.编写认证文件,定义用户和密码:打开passwd;
在这里插入图片描述
4.编写授权文件:
在这里插入图片描述
分组+授权

测试是否成功

SVN的配置和管理
配置服务器的自启动服务
为什么要配置svn开机自启动功能,因为使用控制台命令的方式对svn仓库进行监管属于命令级别的进程,一旦退出命令监管立即结束,所以需要使用以守护进程方式进行启动的配置;
sc create SVNservice(自定义服务名) binpath= “D:\VisualSVNServer\bin\svnserver.exe-service -r D:\VisualSVNServer\webApp” start= auto
注:需要使用超级管理员执行上述命令;

在控制面板-管理工具-服务找到SVNserver
运行成功,svn监管服务开发成功
使用批处理文件来停止和开启管理器
启动服务 net start 服务名称
停止服务 net stop 服务名称
删除服务 sc delete 服务名称

封装成为.bat封装就可以减少很多工作量
模拟真实场景(重难点)
1、 使用钩子程序对项目进行更新
post-commit.tmpl: 事物完成之后触发的钩子程序
默认情况用批处理或者Shell指令完成
SVN扩展程序
1、BAE云引擎
百度应用引擎(BAE),网络应用开发平台。
http://bce.baidu.com/

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194474.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python基础教程Hello world

    Python基础教程Hello world

  • Python第七章-面向对象高级

    Python第七章-面向对象高级面向对象高级一、特性特性是指的property.property这个词的翻译一直都有问题,很多人把它翻译为属性,其实是不恰当和不准确的.在这里翻译成特性是为了和属性区别开来.属性是指的

  • 无线充电Qi通信协议分析

    无线充电Qi通信协议分析无线充电Qi通信协议分析

  • 分布式锁的实现和应用场景_redis分布式锁释放锁

    分布式锁的实现和应用场景_redis分布式锁释放锁分布式锁为了解决分布式场景下全局加锁的问题。在单体项目中可以使用synchronize完成对于不同线程之间的资源争抢问题。但是在分布式场景下,synchronize只能对其中一个项目进行资源控制,进程之间的资源增强仍然无法解距。换言之,可以将分布式锁理解为对于整个分不是系统的synchronize。通常使用独立与线程之外的工具控制资源,如redis及框架redisson。1.传统单体架构业务流程synchronized(this){ /** 业务逻辑扣减库存 */}以上代码对于单体架构可

  • split 方法_subsequence和substring的区别

    split 方法_subsequence和substring的区别1,split方法split()方法用于把一个字符串分割成字符串数组。例如:数据中现在有这样一个结果128b8f730592cc8db33ea52985127d44,44bee6555822d8321d2d1a2c1ac3b2cf,b2f939f26e512934e165f3e784cc74ca,我需要把这个字符串变成数组 console.log(res.result.produc…

  • SCSA—信息安全概述

    SCSA—信息安全概述数字化时代威胁升级:攻击频发、传统安全防护逐渐失效、安全风险能见度低、缺乏自动化防御手段一、信息安全概述:1)信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态或特性2)网络安全:计算机网络环境下的信息安全二、信息安全的脆弱性及常见安全攻击1.网络的开放性:互联网的美妙之处在于你与每一个相连,它的可怕之处在于每一个人与你相连2.协议栈的脆弱性及常见攻击1)协议栈的自身脆弱性:缺乏数据源验证机制、缺乏机密性保障机

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号