博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVN
阅读量:6680 次
发布时间:2019-06-25

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

Svn版本控制工具

SVN是什么?
svn是Subversion的简称,是一个开源的代码版本控制系统,svn就是用于多人共同开发同一个项目,达到资源共用目的工具。
版本控制是什么?
版本控制(Revision control)是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。可记录每个版本的信息,方便问题追踪。同时版本控制还支持并行开发,可有效的提高开发效率。
为什么要使用SVN?
1、 项目备份方便,节省硬盘空间;
2、 记录每个版本,方便追溯历史纪录。
3、 多人协作开发,共享数据;
4、 细节化的权限控制,便于管理员掌控项目整体。

svn工作流程

在这里插入图片描述
svn架构

在这里插入图片描述

svn解决代码冲突

在这里插入图片描述

Svn从哪获取?

服务端:
客户端:

i. 第一部分:操作svn服务器的2种方式

  1. command-line 命令行方式;
  2. GUI-client图形界面方式;
    ii. 第二部分:svn服务连接方式:
  3. internet网络连接:
    a) apache服务器;
    b) svn服务器;
  4. local 本地连接:
    iii. 第三部分:svn数据存储方式:
  5. 文件方式:FSFS(推荐使用)
  6. 数据库方式:BerkeleyDB(伯克利DB)

2、 svn服务器、客户端的获取与安装:

a) 服务端:
b) 客户端:

3、 svn服务器目录结构、用户和权限;

a) 目录结构:
在这里插入图片描述
i. Repositories 仓库:存放被svn管理的项目文件,可以存放源码,文档等;
ii. Users 用户:创建和编辑用户;
iii. Groups 权限组:创建和编辑用户组;

b) 创建仓库:

创建仓库:

1以文件的存储方式
文件的存储方式
2给仓库起名
给仓库起名
3分配权限
01:所有人都没有权限
02:所有人都有读和写的权限
03:自定义
分配权限
4创建带目录结构的名字为dev的文件夹

在这里插入图片描述

4:
标准文件夹结构:

  1. branches 分支:如果需要测试新技术,或者大范围修改,将主干代码拷贝到分支中进行,测试无误后可以合并到主干中;
  2. tags 发布:发布版本要放到tags中;
  3. trunk 主干:主要开发目录;

在这里插入图片描述

c) 创建用户:每个开发人员都需要拥有自己的svn账号;
在这里插入图片描述

d) 创建组:为每个部门配置不同的权限,便于管理;

在这里插入图片描述

e) 分配权限:在仓库或者目录中为用户/组分配权限;

在这里插入图片描述

4、 svn常用操作:

a) checkout 检出:初次下载 - 第一次连接svn服务器时候需要下载对应仓库的数据(如果仓库中有数据的话);

创建一个空文件夹。在空文件夹内右键,选择SVN检出。

在这里插入图片描述

在这里插入图片描述

b) add 新增:新增数据到svn服务器;

在trunk新增txt
在这里插入图片描述
提交到服务器
在这里插入图片描述

别的账号下载文件

在这里插入图片描述

c) update 更新:更新数据 - 检查svn服务器中的数据是否与本地的数据一致,如果不一致就下载改变/新增部分,同时不会删除本地数据;

别的账号修改文件后 更新同步

在这里插入图片描述

d) delete 删除:删除svn的数据(需要搭配commit命令);

在这里插入图片描述

e) revert 回滚:将指定版本的代码回滚到本地,如要提交到服务器需要搭配commit命令;

在这里插入图片描述

f) 代码冲突: 在多人同时开发一个类,提交的时候容易出现代码冲突,也可以理解为版本冲突;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

g) 其他操作:

i. 下载指定版本号的文件;
在这里插入图片描述

ii. 代码对比工具;

在这里插入图片描述

iii. 账号保存与注销;

在这里插入图片描述

iv. 按照版本检出;
在这里插入图片描述

Part.2 在Eclipse中使用SVN

1、 在Eclipse中集成svn插件subclipse;

2、 subclipse github地址:
3、 在线安装地址:
4、 创建项目使用svn管理;
5、 使用svn插件进行常用操作;
6、 创建分支/标记;
7、 修改分支项目,并合并到主干上;
8、 使用svn管理Maven项目;
9、 忽略指定扩展名的文件;

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

你可能感兴趣的文章
SMTP命令邮件投递(无身份认证)
查看>>
Nginx + MySQL + PHP + Xcache + Memcached
查看>>
使用Windows live movie maker轻松与朋友分享视频
查看>>
我的友情链接
查看>>
数据库死锁的类型
查看>>
找水王
查看>>
grep及正则表达式
查看>>
MongoDB常用命令大全
查看>>
Python程序的执行过程
查看>>
Proxmox-VE搭配Ceph存储组建高可用虚拟化平台
查看>>
前端基础---JavaScript
查看>>
Linux关于大于2T的磁盘分区格式化
查看>>
lamp系列-MySQL主从复制原理视频(老男孩出品)
查看>>
堆和栈的区别
查看>>
Android 编辑框(EditText)属性学习
查看>>
【系列7】使用Dockerfile创建带mysql的Centos Docker镜像
查看>>
部分3G网卡连接Cisco ***后不能访问内网资源
查看>>
JavaScript 核心知识点
查看>>
Beta阶段——Scrum 冲刺博客第二天
查看>>
【转】jqGrid学习之介绍
查看>>