文件版本管理工具SVN

目录

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。

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ta是一个搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值