SVN版本控制


SVN简介

1、什么是SVN

在这里插入图片描述

SVN logo

  SVN是Subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。1

  SVN在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。

APACHE

Apache 软件基金会

  SVN的核心是版本库,在版本库中,存储了需要进行版本控制的所有数据,版本库按照文件树的形式存储数据,包括文件、目录等。SVN还会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。当一个客户端从版本库读取数据时,通常只会看到最新的版本,但是客户端也可以去看以及对以前的任何一个版本进行查看或更改。


2、SVN版本控制工具

1、服务端

VisualSVN

2、客户端

  • SVN客户端常用软件TortoiseSVN,俗称小乌龟。
    TortoiseSVN
TortoiseSVN

  • SVN客户端软件SlikSVN,命令行操作。

slinkSVN

SlikSVN

SVN相关软件安装及中文界面安装见 版本控制软件的安装


版本控制操作

  SVN版本控制的客户端可以选择命令行图形界面两种,在命令行中操作,避免不了的会用到很多操作命令,一下列出部分常用的操作命令

SVN常用指令

命令(简写)格式含义
checkout(co)svn co URL检出URL仓库
update(up)svn up从服务器更新
addsvn add 文件名增加文件
statussvn status查看工作副本状态
rmsvn rm 文件名/目录名删除文件/目录
diffsvn diff 相关指令可进行两文件、版本、tag等的对比
commin(ci)svn ci -m “log”提交,并保存提交说明log
logsvn log 相关命令查看相关log信息
tagsvn cp . (tag) URL新增tag标签
reventsvn revent 文件名/目录名svn还原文件/目录及目录下的文件
cleanupsvn cleanupsvn清理操作
helpsvn help查看svn帮助

svn图标重载

  在开发者进行工作副本的开发时,经常需要知道那些文件经过修改/删除/增加等操作,这时svn的图标重载就显得很重要了。
  在TortoiseSVN设置的图标集中可以看到如下图的图标信息具体的图标含义可见TortoiseSVN帮助手册的4.7节

图标集

1、创建版本库

版本控制URL

  创建SVN版本库时会有本地和远程两种方式,本地一般都为 file:// 开头,若是使用VisualSVN建立,或在远程的SVN托管平台便由采用的协议决定。

各方式创建版本库后访问的差异

方案访问方式
file://直接本地版本库访问(本地磁盘或网络磁盘)
http://通过 WebDAV 协议访问支持 Subversion 的 Apache 服务器
https://与 http:// 相似,但是用 SSL 加密。
svn://通过未认证的 TCP/IP 自定义协议访问 svnserve 服务器。
svn+ssh://通过认证并加密的 TCP/IP 自定义协议访问 svnserve 服务器。
创建本地版本库

使用TortoieSVN创建

  • 1、找到安装SVN时,保存版本库的位置,如果没有更改名称的话一般为Repositories名;
    svn版本库位置

  • 2、在Repositiores内新建文件夹用于保存版本库;

  • 3、新建版本库
    新建版本库
    3、完成版本库新建

在这里插入图片描述

使用VisualSVN创建

  VisualSVN适合企业内部使用,在同一局域网或共有网络服务器,可以实现多人合作开发。

  • 1、右键Repositores选则Create New Reposiyory
    新建版本库

新建版本库

  在上图的5中可以选中新建空的版本库和新建标准版本库(包含主干、分支、标签三个文件夹),在上图的6中可以选择那些成员的权限,根据自己需要自行设置。

新建版本库完成之后便可在本台电脑上任意空文件夹位置检出工作副本。

检出工作副本
在具有版本控制的文件夹右键会出现下图的SVN功能列表

在这里插入图片描述

  由于刚选择的是新建标准的SVN版本库,所以SVN自动新建了三个目录,其中trunk为“主干”,branches文件夹用于保存分支副本,tag文件夹用于存放标记副本,类似于备份。如果一个版本库只管理一个项目,通常使用这种方式进行。

创建远程版本库

  这里使用gitee进行新建。这里有个好处就是不用在本地安装SVN服务器软件,直接用web服务即可,适合不在同一局域网或没有共有服务器的情况进行版本库的建立。

  • 1、新建Gitee账户;
  • 2、登录之后即可新建仓库;
    在这里插入图片描述
  • 3、选择SVN控制
    在这里插入图片描述
  • 4、创建本地副本
      新建文件夹用于保存本地副本,复制Gitee的版本库URL,在本地文件夹进行检出,初次检出需要登陆Gitee账户,登录之后即可完成检出。
    在这里插入图片描述
    在这里插入图片描述

2、修改文件并推送至服务器

对本地文件进行修改后保存可看到被修改的文件上显示感叹号。
在这里插入图片描述
右键选择svn提交,输入提交信息,选择提交的文件(自动选择),之后确定即可。

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

在服务器即可看到对文件的更改。
在这里插入图片描述

推送至VisualSVN本地服务器步骤与推送至远程服务器相同。

3、创建分支/标签

当在项目中需要在某个版本后进行多方向的开发,就会用到分支操作,SVN创建分支步骤如下:

在这里插入图片描述
选择分支/标记后输入路径,这里需要注意保存分支的路径,可以通过后面三个点进行选择,之后输入文件夹名,并选择左下角新建文件夹,填入日志信息,选择需要从哪个版本进行复制,点击确定即可。

在这里插入图片描述

之后在branches文件夹更新即可看到分支1


在这里插入图片描述

也可以在版本分支图看到分支的具体情况。

在这里插入图片描述


在这里插入图片描述

版本分支图


SVN版本控制资料:

TortoiseSVN客户端中文文档

TortoiseSVN帮助手册2


🎈
🌹
😶


  1. 引自百度百科 ↩︎

  2. 查看方式(完成TortoiseSVN安装后):文件夹空白地方右键点击TortoiseSVN找到帮助即可打开 ↩︎

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐