admin 管理员组

文章数量: 887021


2023年12月21日发(作者:springboot官方教程)

SVN配置管理工具操作手册之SVN客户端篇

前言:曾经有一个很好的配置管理工具摆在我面前,我没有在意,直到版本混乱、数据丢失和工作成果被覆盖的时候才后悔莫及,工作中最大的痛苦莫过于此。如果上天能再给我一次机会的话,我想对它说三个字:我要你。如果非得加一个期限的话,我希望是一辈子。

接下来,我们就学习怎样使用SVN配置管理工具。该操作手册将逐步教您如何在软件开发过程中使用SVN客户端。

环境模拟:

现有项目数据名称:ProjectData

服务端版本库:repository

访问URL: 10.0.0.103:8443/svn/NET/NET1group/

一、基本操作

1. 安装客户端。下载下载安装程序,双击直接安装即可。安装成功后,在任意位置右键单击鼠标会多出两个选项,分别是SVN

Checkout和Tortoise SVN。如下图所示。

2. 建立工作区。项目开始之前,在本地的硬盘上(比如:E盘)创建一个文件夹,文件夹命名随意(例如MyWork),该文件夹即作为软件开发者在项目开发过程中的工作区。如下图所示。

3. 下载版本库。假如现在开发一个项目,配置管理员会在服务端建立一个该项目的版本库repository。在MyWork文件夹上,右键单击鼠标。在弹出的菜单中选择SVN Checkout选项,如下图所示。

4. 在URL of repository中输入版本库地址:192.168.1.103:8010/svn/repository/

ProjectData,在Checkout directory中系统会自动添加第二步所创建的工作区目录。在Revision中,选中HEAD revision,这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件,可选中Revision,然后填入版本号即可。如下图所示。

如果不想下载整个版本库,而是只想下载自己负责的那部分模块,可以在URL后添加模块名,例如192.168.1.103:8010/svn/repository/ProjectData/MyDoc。如下图所示。

5. 单击“OK”按钮,弹出提示对话框提示“该文件不存在,您是否需要创建它”。如下图所示

6. 我们单击“Yes”按钮,需要输入用户名和密码。如果我们未选中“Save authentication”选项,我们需要重复输入几次密码,它表示是否保存密码鉴定。如下图所示。

7. 当我们选中“Save authentication”选项时,输入一次正确的用户名和密码即可。如下图所示。

8. 当用户名和密码正确后,就会从SVN服务器中下载最新版本库文件。会显示一下关于版本库和文件的信息,如下图所示。

9. 点击“OK”按钮后,我们的工作目录(MyWork)下就有一个从服务器下载的版本目录。本地的工作区文件夹,即MyWork上会有绿色对勾出现,该目录下的文件也会带有绿色对勾。如下图所示。

10. 修改版本库。对版本库的修改包括修改文件内容、添加和删除文件、添加删除目录。我们如何上传一个文件呢?在该工作区文件目录下,新建一个文件。此时该文件上显示一

个问号符号,表示是新加入的文件。如下图所示。

11. 新加入了某些文件后,需要右键点击文件选择TortoiseSVN-->Add,如下图所示。

12. 然后会提示您是否确认提交该文件,如下图所示。

13. 点击“OK”按钮后,提示该文件新增信息。如下图所示。

14. 点击“OK”按钮后,然后文件上面会出现一个加号。如下图所示。

15. 此时,服务器上还没有存在该文件,我们还需要Commit该文件。右击该文件选择SVN

Commit提交到服务器中。如下图所示。

16. 当提交(或修改)的文件需要写上一个消息,表示该文件是做什么的,有什么好处等。如下图所示。

17. 点击“OK”按钮,被Commit的文件会被标记为绿色对勾,没有绿色对勾的文件表示没有被提交。如下图所示。

注意:有的时候,当文件Commit后,图标没有发生变化。此时,只需要刷新一下即可。如下图所示。

18. 如果对库中某一个文件进行了修改,系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号,代表该文件或目录已经在本地被修改。如下图所示。

19. 当所有对版本库的修改操作完毕后,右键单击工作区文件夹,选择SVN Commit提交新版本,输入密码后系统将把修改后的版本库上传到服务端,即完成一次对版本库的更新。如下图所示。

注意:提交新版本之后,其他拥有写权限的用户也许会重复以上几步的操作,完成对版本库的再一次更新。所以,每次在工作区文件夹下修改本地版本库之前,必须首先对本地版本库执行一次更新(右键单击工作区,选择SVN Update),将最新的版本下载到本地,然后再进行修改操作。如下图所示。

20. 假如不知道版本库中有哪些文件,这时可以先对版本库进行浏览,然后根据自己的需要下载相应的资源。在任意空白位置单击鼠标右键,选择TortoiseSVN-->Repo-browser进行浏览。如下图所示。

21. 我们需要输入URL地址,就是版本库的路径。如下图所示。

22. 点击“OK”按钮后,就可以浏览自己拥有权限的版本库信息。如下图所示。

提示:当自己没有保存密码鉴定时,需要重新输入用户名和密码。

一、其他操作

在日常的软件开发过程中,除了以上介绍的下载,提交,更新操作外,还有另外几种常用操作。

1. 比较文件的不同之处。当对soc_1做了修改之后,soc_1文件会出现红色叹号,表示已经修改,如果想查看修改后的soc_1文件与修改前有何不同,可以右键单击此文件,选择TortoiseSVN-->Diff选项。如下图所示。

2. 系统弹出一个窗口,窗口分为两个部分,左边为更改之前的版本,右边为更改之后的版本。并在不同之处作出标记和说明。如下图所示。

提示:如果是Word文档,选择Diff之后,系统会打开一个Word文档,并在其中标出修改后的版本与修改前有何不同。

3. 查看日志。如果想查看一个文件的日志,例如“我的资料信息.txt”,右键单击这个文件,选择TortoiseSVN-->Show Log选项,如下图所示。

4. 系统会弹出一个窗口,并在窗口中显示“我的资料信息.txt”各个版本的Log。如下图所示。

5. 查看版本树。如果想查看“我的资料信息.txt”文件的版本树,右键单击该文件,选择TortoiseSVN-->Revision graph选项,如下图所示。

6. 系统将会打开一个窗口,并在窗口中显示该文件的版本树。如下图所示。

7. 下载某个文件的旧版本。如果想要得到某个文件的旧版本,只需在该文件上单击右键,选择TortoiseSVN-->Updata to revision…选项即可。如下图所示。

8. 系统会提示输入版本号。例如要下载“我的资料信息.txt”的第6个版本,只需选中“Revision”和填入版本号6即可。如下图所示。

9. 点击“OK”按钮,即可查看版本号为6 的内容。如下图所示。

10. 查看完版本6的文件后,如果想在此回到最新版本,右键单击“我的资料信息.txt”文件,选择SVN Update选项即可。

11. “我的资料信息.txt”文件已更改至最新版,文件内容回到最新。如下图所示。

12. 重名名和删除文件。如果要删除一个文件或重名名一个文件,注意不要在windows下直接操作。只需右键单击该文件,选择Rename或Delete,svn系统便会完成操作。在MyWork中将文件重命名或删除后,服务端的文件结构不会变化,只有当提交新版本库后,即Commit后,服务端的文件结构才会被更新。如果误删除了文件,在没有提交版本库之前,可以通过对版本库的更新将文件重新下载到本地的版本库,也可以通过revert恢复。如果文件删除,并且已经提交,那么要找回文件只能通过下载旧版本库来完成。

13. 撤销修改。当对一个文件进行了修改并保存后(注意此处并没有进行提交),如果对修改不满意,想要重新修改,可以右键单击修改过的文件(带红色叹号的那个),然后选择revert,前面的一系列修改便会被撤销,恢复到Updata之前的状态。如果一个文件被误删除,也可通过右键单击该文件所在的目录,选择revert来恢复。

三、异常处理

1. 此处所说的异常主要是指文件发生冲突。以用户A和用户B为例,当两个用户同时下载了最新的版本库,并对库中同一个文件“我的资料信息.txt”进行修改提交时,首先提交的用户A不会发生异常,第二个提交的用户B便会出现无法提交的现象。因为服务端的版本库已经被A更新,B用户在上传时,系统会提示出错。如下图所示。

在这种情况下,B用户需要首先对修改的文件进行Update文件操作。如果两个用户修改了文件“我的资料信息.txt”的同一个地方,则在B用户执行Update后,系统会将本地的“我的资料信息.txt”与从服务端下载“我的资料信息.txt”合并到一个文件上,并在该文件图标上标上黄色叹号,表示文件出冲突。在文件中通过“<<<<<<”和“>>>>>>”标识冲突位置和冲突内容。B用户只有与A协商,将该冲突处理,之后单击右键,选择Resolve,冲突标记消除,才能够再次提交,否则无法提交。

寄语:还有很多的异常处理情况,在这里不再一一描述。希望同事们在自己的工作过程中,要注意不断的积累。将自己遇到的异常和如何解决的关键步骤整理出来,以便他人或自己参考。


本文标签: 文件 版本 修改 提交