本篇主要介绍单个人进行软件开发时利用TortoiseSVN客户端进行版本维护的方法,对于多人进行软件开发版本控制需要借助服务器或者利用服务端软件VisualSVN Server在某台电脑上创建服务端再进行版本控制的方法本篇并未涉及,后期用到了将会在本系列进行更新。
在此之前请下载TortoiseSVN进行安装。


1.创建用于上传代码的本地版本库并复制版本库地址


1.1 在上传代码的目录下,创建自命名文件夹QJsonTestReopsitory,我是放在D盘下的

tortoisesvn添加开发者 tortoisesvn提交代码_服务器

1.2 进入文件夹,右键选择Create repository here,点击StartRepobrowser,复制服务器地址

tortoisesvn添加开发者 tortoisesvn提交代码_上传_02


tortoisesvn添加开发者 tortoisesvn提交代码_服务器_03

tortoisesvn添加开发者 tortoisesvn提交代码_版本库_04


2.将代码上传至创建的本地版本库内


2.1 在代码所在文件夹内,右键选择SVN Checkout

checkout的意思是将本地版本库中的代码传入设置的文件夹地址,并创建了SVN控制,此处因为服务器中没有代码就相当于没有传入任何代码,只是创建了SVN控制关系。

tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_05


2.2 URL of repository中填写本地版本库地址,Checkout directory中将地址改为当前地址

tortoisesvn添加开发者 tortoisesvn提交代码_服务器_06


tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_07


tortoisesvn添加开发者 tortoisesvn提交代码_版本库_08

  • checkout的意思是将本地版本库中的代码传入当前文件夹,并创建了SVN控制,这个选项的另一个用途就是,创建新的文件夹,将本地版本库的代码拷入新建文件夹。
    下图演示了从本地版本库中将代码自动拷入本地桌面新建文件夹中的过程。
    (1)新建本地文件夹

    (2)输入本地版本库地址及Checkout directory将代码导入,可以看到导入的代码是与我上传的代码一致的



    2.3 添加上传文件并进行上传
  • 选中要上传的文件,右键选中Add,选中的文件在点击Add后会出现+的符号

tortoisesvn添加开发者 tortoisesvn提交代码_服务器_09

  • 选中要上传的文件,右键选择SVN Commit,就会将选中的文件上传至本地版本库

tortoisesvn添加开发者 tortoisesvn提交代码_上传_10


tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_11

  • 上传的代码将会保存在服务器地址下的db文件夹中,其保存方式为加密的二进制

3.代码修改后的上传与维护

  • 3.1当我们对进行版本控制的文件做了修改,SVN会自动将本地版本库与当前代码进行比对,对存在差异的文件进行红色感叹号标注,此时需要将新的代码进行上传即可取消感叹号

    3.2选中文件或者在目录空白处右键,选择SVN Commit,进入选择要上传的文件后加修改记录,修改记录尽可能详细,这样就可以在后期追溯,重新上传后服务器与本地代码一致,都为绿色标识



4.查看更新记录,手动维护


4.1在目录空白处右键,选择Show log

tortoisesvn添加开发者 tortoisesvn提交代码_运维_12


4.2双击此版本中与上一版本存在差异的文件双击,即可看到被修改的部分以黄亮的方式标识出来

在初级使用时,如果程序出现问题可以通过手动对比的方式将代码改回上一可以稳定运行的版本,后期我会自动翻滚回上一版本时在做更新。

tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_13


tortoisesvn添加开发者 tortoisesvn提交代码_服务器_14


5.回溯至特定版本


从4中可以看到版本2和版本1差异是增加了 void testJson(),那我如果想要将文件回溯回版本1怎么操作呢?只需:右键选择 Update to revision–> Show log–> 选择回溯的版本–> 界面自动带出版本信息–> 文件内容切换为版本1

同样的方法可以切换到其他版本。


tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_15


tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_16


tortoisesvn添加开发者 tortoisesvn提交代码_上传_17


tortoisesvn添加开发者 tortoisesvn提交代码_tortoisesvn添加开发者_18


tortoisesvn添加开发者 tortoisesvn提交代码_服务器_19


tortoisesvn添加开发者 tortoisesvn提交代码_服务器_20