目录

1 适用对象

2 安装

3 使用

3.1 单机版

3.1.1 建立版本库

3.1.2 将文件或文件夹放入库中

3.1.3 Checkout(导出)文件

3.1.4 Export(导出)文件

3.1.5 Commit(提交)文件

3.1.6 Update(更新)文件

3.1.7 对文件执行branch或tag操作

3.1.8 控制不同类型的文件

3.1.9 修改已经提交的log(日志)

3.2 多机版

3.2.1 安装示例

3.2.2 创建库示例

3.2.3 用户管理

4 库迁移

4.1 单机版库迁移

4.2 多机版库迁移


1 适用对象

在没有版本管理工具之前,多次编辑同一个文件并且想保存所有的更改,一般的方法是给文件以当前日期或者序号命名,如下所示,

第一次编辑

abc_20210101.txt或者abc_1.txt

第二次编辑

abc_20210102.txt或者abc_2.txt

第三次编辑

abc_20210103.txt或者abc_3.txt

有了版本管理工具之后,就可以做到不改动文件名而且能够保存每次的更改。

SVN是一款方便易用的文件版本管理工具,虽然跟如日中天的git工具(深受程序员青睐)相比逊色不少,但对于普通办公人员来说前者更适用,可以对任何类型的文件做版本管理,基本满足所有的使用场景。

2 安装

官网下载或者百度网盘下载(https://pan.baidu.com/s/1yet3If-5l4wQNLxPsKQ24g

提取码:o2g2 )安装包,双击安装即可。支持Windows 10、8、7。

安装成功之后,在系统桌面空白处右击鼠标会发现多了两个选择项,如下图所示,

3 使用

3.1 单机版

单台电脑单人操作,只需要安装TortoiseSVN。

3.1.1 建立版本库

创建一个空文件夹,进入文件夹,单击鼠标右键- >TortoiseSVN -> Creat Repository here,在弹出的窗口中点击“Create folder struct”,之后选择“确定”和“OK”即建立了一个版本库(如下图该库的访问路径为file:///G:/111/test)。单击鼠标右键->TortoiseSVN -> Repo-browser会自动弹出版本库的路径及相关内容。

SVN三个文件夹的理解:

trunk(主干)一般存放会经常被修改的文件。

tag(标签)可以理解为里程碑,凡是放在tag里的文件都不变了,当trunk里面的文件被认为是稳定的时候就可以备份到tag。

branches(分支),有的项目过于庞大,可以分成多个分支,每个模块是一个分支,待每个模块的文件开发完成之后再合并到主干上。

实际使用时可以只用到trunk,当然如果能利用好tag和branches的优点,那么就能更好的维护项目文件。

创建的版本库是一个空的仓库,需要把被管理的文件或文件夹放入其中。

3.1.2 将文件或文件夹放入库中

比如G:\111\projectA下有三个文件,a.txt,b.txt,c.txt,a.txt的内容为this is a.txt,b.txt的内容为this is b.txt,c.txt的内容为this is c.txt。

将G:\111\projectA放入库的trunk下,选中trunk(参考建立版本库章节的第二张图) -> 单击鼠标右键 -> Add folder… ->选中G:\111\projectA -> 确定,此时G:\111\projectA下所有文件都纳入了版本管理之中。

3.1.3 Checkout(导出)文件

新建空文件夹(比如G:\111\pA),将库中trunk上的文件下载到该文件夹。进入G:\111\pA,单击鼠标右键 -> SVN Checkout -> 选择指定的版本库(比如file:///G:/111/test),就可以把所有内容全部导出,另外还会生成一个.svn的文件夹,就是通过该文件夹跟版本库关联,以后就可以在pA文件夹下修改文件并提交到版本库。

3.1.4 Export(导出)文件

该功能与该Checkout类似,可将指定版本号的文件导出到指定的文件夹,若文件夹不存在则创建该文件夹,不会生成.svn的文件夹,所以不受SVN的版本管理,体积更小方便压缩传输。

3.1.5 Commit(提交)文件

在Checkout之后,如果文件有修改则需要commit才能同步到版本库中,比如在G:\111\pA文件夹,向a.txt追加一行内容“I am the first file”,同时增加一个文件d.txt并添加内容“this is d.txt”。进入文件夹->单击鼠标右键 -> SVN Commit -> 选择改动过的文件->写入改动日志(log)->OK,如下图所示,此时即可将改动保存到版本库中。

3.1.6 Update(更新)文件

在多人协作的项目中,每个人对文件的修改和Commit时间不一样,为了使手中的文件处于最新版本,在每次修改之前需要及时update。进入文件夹->单击鼠标右键 -> SVN Update。如果你手中的文件已经处于最新版本,此时你执行update操作则不产生任何效果。如果你修改了部分文件的内容,并且在此期间其他人在你未知的情况下Commit了文件(导致版本号增加),此时你执行update会报”conflict”,这时需要找出文件内容的差异手动合并,再Commit。

3.1.7 对文件执行branch或tag操作

有时候可能需要将一个功能完整的版本留作备份(tag),或者用于开发其他新增的功能(branch,待该功能稳定之后再合并到trunk中)。进入文件夹->单击鼠标右键 ->TortoiseSVN->Branch/tag...->填写”To path”的值,比如/tags/revision_3(对版本3打tag,由下图中的“Specific revision in reposipory”)->OK,即可在版本库tags文件夹下创建xxx文件夹并且其内容与指定版本的内容一样。

3.1.8 控制不同类型的文件

默认情况下SVN不会对某些类型的文件做版本管理,需要用户设置才生效,

比如刚建立的版本库不会对.so、.a文件进行归档,需要用户设置才生效,比如要将文件名后缀为so的文件纳入版本管理,则做如下操作,进入文件夹->单击鼠标右键 -> TortoiseSVN -> General -> Subversion -> Global ignore pattern -> 删去”*.so.[0-9]*”->确定。

3.1.9 修改已经提交的log(日志

某些情况下可能需要更改以前版本的log,默认情况下直接修改会报错,

此时在版本库目录的hooks目录下创建空文件pre-revprop-change.bat即可。

进入文件夹->单击鼠标右键 ->TortoiseSVN -> Show log -> 选定Revision -> 右键单击 -> Edit log message->输入内容->确定。

3.2 多机版

上述说明了单台电脑操作版本管理软件,现在说明在多人办公环境中的使用方法。

如下图,跟单机版一样,电脑B、C、D需要安装TortoiseSVN,电脑A除了安装TortoiseSVN还要安装VisualSVN-Server,可以从官网下载或百度网盘下载。

(https://pan.baidu.com/s/1R_eb62cgg__kNGCVBlduzA 提取码:t3jc)

3.2.1 安装示例

下图中的Repositories:存放所有版本库的路径。

3.2.2 创建库示例

进入上图中Repositories指定的文件夹->单击鼠标右键->Cteate New repository->Regular FSFS repository->填入库文件名字(如ExampleRepo)->Single-project repository->Nobody has access->Create->Finish,此时弹出库的URL,通过VisualSVN Server操作界面右键也可获取库的URL。

3.2.3 用户管理

Repositories->ExampleRepo->Properties->Security,如下图,给用户添加用户testUser并给予读写版本库的权限。

4 库迁移

4.1 单机版库迁移

直接将整个库拷贝至其他机器即可。

4.2 多机版库迁移

可以参考官网说明,或者按照如下操作,

Repositories->Import Existing Repository->Copy repository from another location->输入库完整路径->命名库名字->Import。

正常情况下不会出现错误即可导入成功。导入成功如果遇到如下访问错误,需要清除软件缓存数据再次访问即能成功,TortoiseSVN->Settings->Saved Data->所有数据Clear。

文件版本管理工具SVN相关推荐

  1. 版本管理工具 git和SVN 忽略文件和目录

    在大部分项目中,一般都会有文件和目录不需要进行版本控制.像编译生成的中间文件,本地个人自定义文件等等,这些文件一般是不允许纳入版本管理或者上传的.这样,在实际使用中,我们需要进行进行设置,让工具自动忽 ...

  2. 谈一谈git和SVN两大版本管理工具。

    Git 和 SVN 的区别? 写在前面: git和SVN都是一个版本管理工具,没有孰优孰劣之分,在这里,只是简单的说一说git和svn的优缺点.选用哪一个看自己公司的实际情况而定. 1) 核心的区别在 ...

  3. SVN 集中式版本管理工具

    SVN : 集中式版本管理工具 checkout: 下载代码, 只需要做一次 update : 更新代码 commit :提交代码 三. SVN服务器搭建及配置(了解) 一. 端口号 http 80 ...

  4. SVN与GIT两大版本管理工具

    版本管理的基本含义: 版本管理是为满足不同需求,对同一产品或系统进行局部的改进和改型所产生的产品或系统系列的变更情况进行记录.跟踪.维护和控制的过程. 为什么要使用版本管理: 假设你在的公司要上线一个 ...

  5. 版本管理工具使用之svn

    svn简介 SVN是Subversion的简称,是一个集中式开放源代码的版本控制工具,svn必须联网才能工作,而git是分布式的,所以git支持离线工作,这是git与svn最大的区别.Tortoise ...

  6. 软件测试——版本管理工具:SVN和Git

    软件测试--版本管理工具:SVN和Git SVN SVN的安装和介绍 SVN的安装 操作 冲突 Git Git的安装和配置 git的命令行用法 git 代码冲突 持续集成和持续交付 定义 目的 持续集 ...

  7. SVN版本管理工具的使用

    SVN 版本管理工具 介绍SVN svn架构: - 客户端:操作界面 - 服务器: - 服务:操作库的内存中的程序. - 库:硬盘上保存表记录的文件 SVN(Subversion)是一款版本管理工具, ...

  8. svn服务器日志在哪个文件夹,SvnLog(svn日志导出工具)

    SvnLog是一款可以帮助您搜索日志的工具,当您在操作SVN服务器的时候,为了知道自己执行了哪些项目,知道服务器运行的日常情况,知道在服务器上修改的文件,您可以通过日志搜索的方式直接查看记录的数据,在 ...

  9. iOS 开发 需要的版本管理工具,UI图,bug管理工具等

    1.版本管理工具  或直接 终端敲命令 SVN(smartSvn 或者cornerstone/终端)  或git (sourceTree/终端) 2. 原型管理工具 使用墨刀(https://moda ...

最新文章

  1. Linux扫盲篇:CentOS、Ubuntu、Gento
  2. 最后一个 IPV4 地址分配完毕,正式向IPV6过渡!
  3. 错误: 程序包r2不存在_坚果 R2 使用体验:它是一款真旗舰,也是不一样的旗舰...
  4. 解惑:为什么云计算和物联网会同时出现——微云网络
  5. SRM 400(1-250pt, 1-500pt)
  6. LoadRunner 12.02 安装教程及中文语言包安装
  7. NSTimer定时器进阶——详细介绍,循环引用分析与解决
  8. Java - 对象(object) 具体解释
  9. mysql 列换行 表设计 设计_MySql行转列、列转行
  10. python 打包文件夹_Python打包文件夹(zip/tar/
  11. UML-类图-关键字如何使用?
  12. ARM指令计算机器码,ARM中几种把BL指令转化为机器码算法
  13. workstation服务丢失 共享打不开 0x80070035
  14. Linux grep命令详解:查找文件内容
  15. SLAM中本质矩阵E,基础矩阵F,单应矩阵H总结
  16. 计算机键入命令,win7系统安装软件出现命令行选项语法错误键入“ 命令/?”怎么办...
  17. 智能优化与机器学习结合算法实现数据预测matlab代码清单
  18. 《Web全栈工程师的自我修养》读后感
  19. conda安装tensorflow2.x和pytorch1.8.0的一些常用命令
  20. 《强化学习周刊》第17期:ICLR-2021强化学习的最新研究与应用

热门文章

  1. Spring Boot Tomcat 配置【数安时代 GDCA】SSL证书安装
  2. 详解贝叶斯(一):贝叶斯概率
  3. 服务器被ddos攻击了怎么处理
  4. My Batis框架初级知识
  5. 钱诚10.8今天非农黄金操作建议!纸白银美原油行情走势及在线解套
  6. python面向对象练习:士兵开枪问题
  7. # SpringBoot 使用 themeleaf
  8. 【第127期】游戏策划:游戏制作越来越酷了
  9. 移动硬盘一个分区“数据循环冗余错误”要求格式化解决方法
  10. 收费最低的云存储_云存储、网盘怎么区分,有何不同?