• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

SVN 配置、使用

Mr.Lee 由 Mr.Lee
2018年5月19日
在 SVN, 版本控制
0
SVN 配置、使用
0
分享
1
浏览

1、SVN概述

1.1、为什么要使用版本控制软件

在实际开发项目的过程中往往是多人在协同开发项目。如果多人在开发项目就暴露出了代码的相关(代码的管理)的问题

代码备份

代码还原

问题追踪

对于上面列出的代码管理的相关问题就需要使用版本控制软件来帮助管理项目代码

1.2、常见的版本控制软件

CVS:比较奇葩的产品(svn的前身)

VSS:微软开发的版本控制软件

ClearCase:IBM开发的一款收费的版本控制软件

Svn:属于一款集中式的版本控制软件

Git:属于一款分布式的版本控制软件

1.3、什么是SVN

Subversion是一个自由/开源版本控制系统,c/s结构(有客户端有服务端),一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。从这个方面看,许多人把版本控制系统当作一种“时间机器”。

备注:svn是一种cs结构的软件。有客户端也有服务端。Svn是帮助管理项目代码的软件。能够实现问题追踪、代码还原、等功能。

SVN软件搭建

2.1、SVN软件获取

SVN分为服务器端与客户端

服务器端:VisualSVN 或 SubVersion

客户端:TortoiseSVN

服务端下载地址:https://www.visualsvn.com/visualsvn/download/

客户端下载地址 :http://tortoisesvn.net/downloads

2.2、SVN服务端的安装

①进入下载的svn软件目录

②运行安装

③接受协议下一步

④选择界面类型

⑤选择安装类型

安装操作暂时先到此处

⑥创建目录

⑦继续安装指定安装地址

⑧剩余的一路下一步安装即可

最终安装完成之后界面如下

2.3、安装客户端

①确定自己本机的位数

②根据自己电脑的位数选择安装的客户端版本

③运行svn的客户端

④同意协议

⑤选择安装地址

⑥安装

⑦安装完成

安装完成之后鼠标右键效果如下

2.4、安装中文的语言包

①运行安装包

②下一步安装

2.5、关于语言问题

对于语言包安装完成之后默认会使用对应的语言包。如果安装完成之后还没有切换可以手动指定语言具体操作如下

①右键进入到svn的设置界面

②设置语言

注意:对于目前svn的客户端跟服务端都是安装在自己的本机。需要区别后期对服务端跟客户端的操作

SVN仓库配置

3.1、什么是仓库

对于svn作用是进行版本控制。而版本控制的实现是通过记录代码文件实现。因此svn需要保存代码文件。具体保存代码文件的目录就叫做仓库。对于svn的仓库包括的功能并不仅限于保存代码(svn仓库中保存的代码文件并不是直接保存用户编写的文件)。还支持权限等控制。

3.2、配置仓库

①在d:/svn目录下创建总仓库

②在web目录下建立一个测试的仓库

③运行cmd

④创建仓库

在命令行下执行命令本质就是在操作系统的全局环境变量的目录中搜索对应同名的可执行文件

⑤查看仓库目录下的文件

3.3、启动svn的服务端软提供服务

3.3.1、启动svn服务端

①使用命令启动svn服务

-d:指定为后台方式启动(目前存在问题并不是真正的后台方式启动)

-r:指定仓库的地址

注意:此处的后台方式启动存在问题。并不是真正后台方式启动因此cmd处于一个“挂起”状态。此时的cmd不要关闭。如果一旦关闭服务中断

3.3.2、使用客户端操作服务端

①在Apache的web跟目录下创建一个目录

②检出SVN上的项目

先右键选择”SVN检出”

然后填写相关地址即可

结果如下

③查看客户端的shop目录下的文件

对于上图的文件需要开启查操作系统用的看隐藏文件功能

④使用SVN的增加功能

首先增加文件

然后增加到上传队列中(告知svn有一个文件需要记录)

具体操作文字说明:选中文件->右键->TortoiseSVN->加入

对于单独的文件增加没有任何的提示。如果增加文件夹提示弹出框选中。效果如下

⑤提交文件

在弹出框中填写相关的内容

具体结果如下

产生错误的原因是因为有权限相关的控制

⑥解决权限问题

修改权限配置文件

然后重启svn服务

⑦再次提交代码测试


关于客户端的操作总结:

  1. svn检出:建立与svn服务端的连接
  2. Svn增加文件:告知svn服务端需要记录的内容
  3. Svn提交:具体将文件代码上传到svn服务端进行保存

关于服务端总结:

启动服务:整个svn服务能够正常的运行

开启匿名访问的权限:可以提交代码

3.4、svn的使用流程总结

  1. 对于任何一个开发人员首先必须要要与svn服务端进行连接。也就是需要进行svn的检出操作检出只进行一次。后期需要获取最新的代码使用svn的更新功能
  2. 如果开发者增加了信息文件。需要将文件添加到上传svn的队列中
  3. 不论是增加新文件还是修改已有的文件,需要提交到svn上(提交一般功能实现了正常)

SVN图标介绍

4.1、svn图标

即svn给项目中的每个文件及目录都会增加的一些图标帮助标识项目的修改情况

4.2、查看svn中图标种类

①进入svn的设置

②查看图标集样式

备注:SVN图标虽然支持的比较多。但是实际使用过程中能够显示的并不多。对于Windows操作系统只能支持使用最多15个小图标。如果有其他软件使用了。那么会导致图标不显示

4.3、图标介绍

①常规图标

含义:表示当前文件或者目录与svn服务端上的保持一致

②修改图标

含义:当前的文件跟svn服务端上的文件不一致。有修改

③冲突图标

含义:当前的内容跟svn中的内容有冲突。跟修改图标不是一个意思。表示当前修改的文件使用的不是svn中的最新文件

④只读图标

含义:当前文件为只读属性

⑤已删除

含义:表示当前的文件在svn服务端已经删除

⑥锁定图标

含义:当前文件处于锁定的状态

⑦增加图标

含义:文件已经处于svn上传的队列

⑧忽略图标

含义:文件处于一个忽略状态不会提交到svn服务器上

⑨无版本控制

含义:表示当前的文件不受svn版本控制

队列:排着队处理任务。每一个逐步执行。按照顺序进行没有插队

svn使用

5.1、忽略功能

在项目开发的过程中部分文件可能不需要上传到SVN的服务器上。

例如配置文件。在配置文件中往往记录数据库的配置信息。在开发时是使用的本机的信息。当项目上线如果还更新配置文件就会导致项目出现故障

①忽略指定的文件

选中要忽略的文件右键->tortoiseSVN->增加到忽略列表->选中文件

②增加某类文件的忽略

5.2、SVN的增加功能

Svn增加可以将新的文件添加到上传到svn服务端的队列当中

5.3、svn的更新

开发项目过中往往都是多人在进行开发。如果有某一个人修改代码提交了。另外一个人想要使用最新的代码就需要使用svn的更新功能

①先在Apache的web目录下建立shop2目录演示另外一个客户端

②在shop2目录下建立文件或者修改在提交代码

③在shop2下进行提交

④在shop目录下进行更新


备注在实际开发过程中客户端使用最多的就是svn的更新、svn的添加、svn的提交功能

5.4、SVN的冲突

5.4.1、冲突产生的原因

针对同一个文件才有可能产生冲突

5.4.2、演示冲突问题

①在shop下修改index.php

②shop下提交代码

③在shop2目录下修改index.php

④在shop2下提交代码

结果如下

5.4.3、解决冲突

①更新最新的代码

②查看冲突的文件及目录

③处理冲突问题

首先选中其他跟冲突相关的文件删除

然后手动的修改冲突文件

⑤SVN提交

对于冲突最后的修改文件需要根据实际的业务情况处理。进行手动的合并操作

5.5、svn版本回退

Svn版本的回退可以方便回退到任意的一个版本

①更新至版本

结果如下

②通过查看日志确认自己要更新的版本

③通过日志进行还原到版本

5.6、svn多仓库配置

在实际项目中往往项目比较多。需要多个仓库。对于仓库的创建比较容易。但是在启动svn服务的时候只能使用一个仓库。此处就需要使用到svn的多仓库配置

①创建oa文件夹

②创建oa的仓库

结果如下

③多仓库的方式启动svn服务

④客户端检出

客户端检出时需要注意仓库的地址:

5.7、svn重定向

对于svn服务端的仓库地址有修改,对于客户端想要正常使用需要更新svn服务端的地址。操作如下:

先打开svn的重定向提示

填写地址

在弹窗选择迁移即可

5.8、svn权限认证

Svn权限认证即通过用户名跟密码的校验之后才可以进行svn的相关操作。注意svn的权限认证基于仓库。

5.8.1、开启svn的权限认证

①进入到仓库的查看配置文件

②修改svnserve.conf文件

②修改passwd文件

③修改authz文件

④重新启动服务

5.8.2、测试使用

①新建立一个目录

②svn检出

结果如下

③增加代码然后提交

先加入文件

在svn提交文件

输入一个没有权限的用户密码之后提交结果如下

再次重新提交文件使用有权限

svn设置为系统服务

目前svn服务端每次都要保证cmd处于挂起状态才能给正常的提供服务。如果cmd一旦关闭 svn服务也就关闭比较麻烦。可以将svn加入到计算机的系统服务中并且设置为自动启动

6.1、svn设置为系统服务

①以超级管理员的身份启动cmd

结果如下

②使用命令设置服务

6.2、svn启动服务

方式一:直接找到服务启动


结果如下

方式二:通过使用命令

6.3、svn服务的卸载

Git概述(扩展)

7.1、Git介绍

Git是一个分布式的版本控制软件。能够帮助管理项目的代码

7.2、版本控制软件中的集中式与分布式区别

①svn的集中式

②git的分布式

7.3、安装git软件

一路下一步即可

安装完成之后如下

7.4、git使用流程

git基本使用

①新建git目录

②进入目录使用git

③初始化用户信息(此步骤可以值设置一次)

git config –globle user.name ‘用户名’

git config –globle user.email ‘邮箱’

④使用命令初始化创库

查看目录下的结果

⑤开始开发创建文件

⑥增加代码到暂存区

⑦提交代码到仓库

git还原

①增加测试文件second.php

②增加到暂存区

③提交仓库

④再次增加测试文件并且提交


⑤再次增加测试文件并且提交


⑥查看版本

⑦使用head更新

更新到上上个版本

可以查看结果

Git与github

10.1、git与GitHub的关系

Git不等价于github

Git是版本控制软件

Github是基于git基础上提供的一个代码的托管平台(可以将代码推送给github或者从GitHub上下载最新的代码)

在国内使用比较多的用码云(跟github一模一样)

10.2、码云使用

①注册账号

②登录

③创建项目

填写表单提交即可

④查看地址

⑤获取线上的代码

⑥创建文件

⑦增加代码到暂存区然后提交

⑧推送代码给码云


在推送的过程中需要自己的有权限。如果推送的项目没有把自己的账户加入为开发者是不能正常推送的

git中的分支

①创建分支

②切换分支

③在分支下创建文件

④分支中提交代码

⑤切换到主分支

⑥分支的合并

合并过程中有冲突手动解决冲突问题

备注:

软件提供服务。一直会存在一个进程在长期执行对于此进程就叫守护进程

标签: SVN使用版本控制配置
上一篇文章

GitHub(一) 配置、使用

下一篇文章

TP3.2商城 (八)支付宝、邮件、QQ

下一篇文章
TP3.2商城 (八)支付宝、邮件、QQ

TP3.2商城 (八)支付宝、邮件、QQ

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3