本地电脑需要安装SVN客户端,从SVN版本库地址中下载版本库目录到本地电脑中。
TortoiseSVN官方文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
一、 SVN版本库 4
1. 基本概念 4
1.1 版本库 4
1.2 文件共享问题 4
1.3 文件拷贝 5
1.4 版本库的URL 5
1.5 修订版本 5
二、 TortoiseSVN客户端 6
2. 安装与汉化 6
2.1 安装步骤 6
2.2 TortoiseSVN客户端汉化 8
三、 SVN指导教程 11
3. 功能介绍 11
3.1 svn check out 11
3.2 svn export 11
3.3 svn import 12
3.4 svn update 13
3.5 提交SVN服务器 13
3.6 解决冲突(合并别人的修改) 14
3.7 获取其他版本 15
3.8 更改路径 16
3.9 解决锁定 17
一、SVN版本库
1.基本概念
1.1 版本库
SVN是一种集中的分享信息的系统,它的核心是版本库,它储存所有的数据,版本库按照文件树形式储存数据—包括文件和目录。任意数量的客户端可以连接到版本库,读写这些文件。我们通过写数据,别人可以看到这些信息,而通过读数据,可以看到别人的修改。
Subversion会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。
当一个客户端从版本库读取数据时,通常只会看到最新的版本,但是客户端也可以修改当前拉取的版本,去查看以前的任何一个版本。举个例子,一个客户端可以发出这样的历史问题“上个星期三的目录是怎样的?”或是“谁最后一个更改了这个文件,更改了什么?”。这些是每一种版本控制系统的核心问题:SVN系统的设计是用来记录和跟踪每一次改动的。
1.2 文件共享问题
所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。
例如我们有两个共同工作者A和B,他们想同时编辑版本库里的同一个文件。如果首先A保存它的修改,过了一会,B可能凑巧用自己的版本覆盖了这些文件,A的更改不会永远消失(因为SVN系统记录了每次修改)。因为B覆盖了这些文件成为最新的版本,而A的版本低于B的版本,所以A所有的修改不会出现在B的文件中,这样一来A的工作还是丢失了—至少是从最新的版本中丢失了—而且
是意外的,这就是我们要明确避免的情况!
1.3 文件拷贝
通常情况下,拷贝的文件夹重有一个以.svn为名的隐藏文件夹(),也被叫做工作拷贝管理目录,这个目录里的文件能够帮助Subversion识别哪一个文件做过修改,哪一个文件相对于别人的工作已经过期了。
1.4 版本库的URL
Subversion可以通过多种方式访问—本地磁盘访问,或各种各样不同的网络协议,但一个版本库地址永远都是一个URL。
1.5 修订版本
一个SVN提交操作可以作为一个原子事务操作发布任意数量文件和目录的修改。在我们的工作拷贝里,我们可以改变文件内容、删除、重命名和拷贝文件和目录,然后作为一个整体提交。
在版本库中,每一次提交被当作一次原子事务操作(要么所有的改变发生,要么都不发生),Subversion努力保持原子性以应对程序错误、系统错误、网络问题和其他用户行为。
每当版本库接受了一个提交,文件系统进入了一个新的状态,叫做一次修订(revision),每一个修订版本被赋予一个独一无二的自然数,一个比一个大,初始修订号是0,只创建了一个空目录,没有任何内容。
二、TortoiseSVN客户端
2.安装与汉化
2.1安装步骤
TortoiseSVN的安装步骤如下:
2.2TortoiseSVN客户端汉化
安装TortoiseSVN完成后,打开汉化文件
“LanguagePack_1.12.2.28653-x64-zh_CN”,对已客户端进行汉化。
汉化效果如下图所示:
三、SVN指导教程
3.功能介绍
3.1 svn check out
svn check out用来导出Subversion版本库的文件,同时会与SVN版本库关
联。.svn文件是隐藏文件,用于SVN内部控制版本。关联后文件会有下标显示。
通过修改版本库URL可以指定检出的位置(需要拥有该目录的权限),默认
为最新版本,也可以通过查看日志选择需要的版本:
(新版SVN采用Https协议,URL示例如下图)
(新版SVN采用Https协议,URL示例如下图)
(新版SVN采用Https协议,URL示例如下图)
3.2 svn export
svn export用来导出Subversion版本库的文件,不会关联SVN版本库。不
会创建.svn文件,文件无下标显示。
通过修改版本库URL可以指定导出的位置(需要拥有该目录的权限),默认
为最新版本,也可以通过查看日志选择需要的版本:
3.3 svn import
svn import会把新项目导入到Subversion的版本库中。
3.4 svn update
svn update会把版本库的修改更新到工作拷贝,如果没有给定修订版本,他会把我们的工作拷贝更新到最新修订版本,否则,它会把工作拷贝更新到我们指定的修订版本。
3.5 提交SVN服务器
使用TortoiseSVN客户端提交到SVN服务器时(),会展示如下界面:
3.6 解决冲突(合并别人的修改)
举个例子,A修改了ELP 2.0.txt,B刚刚改变了他的本地拷贝中的这个文件并且提交到服务器,A在提交之前更新它的工作拷贝得到了冲突。在这种情况下,SVN不会允许A提交ELP 2.0.txt。
我们要确定这些内容在下次提交之前得到删除,下图是版本库中的信息。
3.7 获取其他版本
在工作中如果要获取之前的版本,选择TortoiseSVN的显示日志功能,可以查看历史版本信息。
根据需求,通过日期筛选、关键字查询、查看版本与日志信息等操作查询,并导出需要的版本。
3.8 更改路径
需要改变SVN服务器的地址时,在.svn文件夹()的同级目录下,通过重新定位功能可以修改默认地址。
解决锁定
当本地的SVN仓库被锁定时,通过两个步骤可以解决当前问题,如下图所示:
四,英文操作教程
1,SVN上传文件
把需要上传的文件存放到本地电脑中的SVN目录下,选中文件,点鼠标右键选择TortoiseSVN ,选择add或加入。
选中文件会显示一个+的图标,在鼠标右键菜单中点击“SVN Commit正常提交”
弹出一个窗口,输入提交文件的理由或日志。点击右下角的确定,
这时,文件图标会显示“√”,代表文件上传完成。
2,Update 另外的人提交了文档导致版本不一样,先更新统一SVN update
更新完成会打印:
3,SVN下载文件
进入SVN,右键checkout
新建需要下载到哪里的目录,然后粘贴到第二个蓝色框
下载完成