博客
关于我
SVN_hehe.employment.over.40.1
阅读量:389 次
发布时间:2019-03-05

本文共 2343 字,大约阅读时间需要 7 分钟。

文章目录

40.1 SVN介绍

40.1.1 SVN介绍

  • SVN是Subversion的简称,是一个自由开源的版本控制系统
  • Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。
  • 早期版本控制使用的是CVS,后来SVN替代了CVS,随着android兴起,出现Git版本控制工具。

40.1.2 SVN基本概念

在这里插入图片描述

  • 问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?
    • 复制-修改-合并方案(Subversion默认的模式)
      • 在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操 作,但是最终要靠人工去确定正误。
    • 锁定-修改-解锁方案
      • 在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。

40.1.3 SVN架构

在这里插入图片描述

  • Subversion支持Linux和Windows,更多是安装在Linux下。
  • svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
  • svn存储版本数据也有2种方式:BDB一种事务安全型表类型和FSFS一种不需要数据库的存储系统。
  • 因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

40.2 SVN使用

40.2.1 服务器端VisualSVN安装与配置

40.2.1.1 VisualSVN下载

  • SubVersion 官网:

40.2.1.2 VisualSVN安装与创建仓库

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

40.2.1.3 VisualSVN创建工程目录

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

40.2.1.4 VisualSVN 权限控制

  • 创建用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 创建组
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 分配权限

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

40.2.2 客户端TortoiseSVN安装与使用

  • TortoiseSVN是一个基于windows系统的svn客户端图形化界面.

40.2.2.1Tortoise SVN下载

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

40.2.2.2 Tortoise SVN安装

  • 安装后需要重启电脑

在这里插入图片描述

40.2.2.3 Tortoise SVN 常用操作

(1) 浏览仓库

  • TortoiseSVN——Repo-browser
    在这里插入图片描述

(2)清空svn客户端的缓存

在这里插入图片描述

在这里插入图片描述

(3)checkout

在这里插入图片描述

  • 检出svn服务器上的项目

在这里插入图片描述

  • 出现一个隐藏目录

在这里插入图片描述

(4)add

在这里插入图片描述

在这里插入图片描述

  • 这个代表的是它要添加到svn服务器

(5)commit

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)update

  • Update,它是更新操作,可以将svn服务器上的内容更新到本地
    在这里插入图片描述

(7)更新到历史版本

  • 方式一:
    在这里插入图片描述
    在这里插入图片描述
  • 方式二:
    在这里插入图片描述
    在这里插入图片描述

(8)delete

  • 标记删除操作,本地文件会删除,我们需要进行提交,才能真正从服务器删除
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(9)导入与导出

在这里插入图片描述

  • Import将本地资源导入到svn服务器
  • Export导出项目,和checkout的区别,它不存在.svn隐藏文件

40.2.2.4 Tortoise SVN 冲突

  • 多个用户同时操作同一个文件时,就可能产生冲突情况。
    在这里插入图片描述
    在这里插入图片描述
  • HelloWorld.java 它是服务器上的文件与本地文件合并
  • HelloWorld.java.mine 本地修改后的文件
  • HelloWorld.java.r4 修改前的文件
  • HelloWorld.java.r5 对方修改后的文件
  • 解决:
    在这里插入图片描述
  • note : 先update与仓库同步,再commit,可以尽量避免冲突。

40.2.2.5 IDEA下 SVN 配置与使用

1.IDEA下svn配置

  • 前提是我们的电脑上已经安装了TortoiseSVN.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 1.Update Project 更新项目
  • 2.Commit changes 提交项目上所有变化文件
  • 3.Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
  • 4.Show history 显示当前文件的历史记录
  • 5.Revert 还原当前被修改的文件到违背修改的版本状态下

2.IDEA 下SVN使用

share project

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

checkout

在这里插入图片描述

add commit update

在这里插入图片描述

ignor

在这里插入图片描述

在这里插入图片描述

解决冲突

在这里插入图片描述

在这里插入图片描述

40.3 SVN规范

40.3.1 SVN目录规范

  • 在visualSVN中创建仓库时,可以选择svn目录结构
    在这里插入图片描述
    在这里插入图片描述
  • Trunk: 主干目录,此目录下的文件为基准文件
  • Branches: 用于开发的分支目录
  • Tags: 用于发布的版本目录
    • 假设有一个项目OA,我们完成了1.0版本,这时就可以打一个tags
    • 后续我们在OA项目上添加一个新的模块(及时通讯),我们就可以开一个分支,又有一个公司需要在我们OA基础上添加财务管理模块,我们又可以打一个分支。
    • 我们后续针对OA的1.0版本在升级,我们不需要原来附加功能,就可以在原来的主干上继续开发,形成OA2.0版本,开发完成后就可以在打一个tags

40.3.2 分支与标记

1.分支或标记规范

  • 分支的定义规则: Project name+日期时间+功能点
  • Tags的定义规则: Project name+版本号
    • 版本号定义为三段数字: 编号 xxx.xxx.xxx
      • 第一个:革命性的产品升级版
      • 第二个:新功能版
      • 第三个:修正bug

2.打分支或标记

在这里插入图片描述

在这里插入图片描述

  • Tags一般是只读,它代表的是发布的版本,所以我们不要进行改变。

40.3.3 主干与分支或标记的合并

1.主干合并到分支

  • 首先保证主干是最新的(先update),在分支这边进行操作
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

转载地址:http://afgwz.baihongyu.com/

你可能感兴趣的文章
mabatis 中出现< 以及> 代表什么意思?
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>