SVN简单操作:服务器/客户端的安装。文件的提交/删除/更新/误删/查看修改历史/下载历史版本。

一、版本控制工具的作用

什么是版本控制?

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

为什么要用版本控制工具?

将代码放在版本控制工具中,那你的代码就是受保护的。你的版本控制工具的行为是受约束的。别人的代码是不能乱动的。一个人很难开发一个项目,必然需要和其他人合作。版本控制工具的作用,是让人更好的协作。每个人的代码可以共同的调用,完成更大的功能。又不会相互之间产生冲突。

二、SVN下载与安装

用哪种控制工具不是重要的。重要的是能完成这项工作。

SVN-客户端:TortoiseSVN:下载地址:https://tortoisesvn.net/downloads.html

SVN-服务端:VisualSVN:下载地址:https://www.visualsvn.com/visualsvn/download/

如果自己电脑带不动,可以试一下网页版本的SVN服务器:https://svnbucket.com/#/

大家可根据自己的需要求去对应版本和操作系统位数安装。这里我们只介绍下在自己电脑上安装。

SVN-服务端的安装步骤
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行SVN-Server后进行简单创建。
创建仓库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
---------创建访问的用户:
在这里插入图片描述
在这里插入图片描述

SVN-客户端的安装步骤
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

客户端安装结束后,在计算机任何文件夹中右击,快捷菜单中出现以下两个内容,即安装成功。SVN
Checkout是从SVN文件夹下载文件所需要用到的。
在这里插入图片描述
在这里插入图片描述

注:https://DESKTOP-4CAJVOD/svn/Test/

如果客户端和服务端不是安装在同一台机器上,甚至不在同一个局域网内,希望通过公网联系服务端的。这里的计算机名就需要改成(IP地址:商品号)的形式。IP地址就是服务器端所在的公网IP,商品号是安装服务端时填写的端口号。其他不变。之前自己选择的文件夹就是存在文件的地址。也可以自己更改。
在这里插入图片描述
在这里插入图片描述

在刚才选择的文件夹下,右击,选择SVN Update.
在这里插入图片描述
在这里插入图片描述

注:这个(.svn)文件夹,不能删除。如果删除,那就是普通文件没有区别了。这个文件夹就不再是和服务端联系的文件夹。

测试一下:

本机测试:

在这里插入图片描述

提交成功:
在这里插入图片描述

操作时候的注意事项:

A.在修改之前,建议先update 操作再进行commit操作,省的覆盖前面在你mod之前的操作;

B、在删除操作之前,先确定是否本机数据,还是的确要删除服务器端数据,删除提交commit才是正式删除服务端数据;

三、SVN的基本操作

1、新增文件提交到服务端,一些默认的文件,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在本地进行新增,删除操作,只能属于客户端的操作。如果要影响到服务器,必须要在commit下,选择文件后进行。必须要通过commit通知服务器端,我删除/新增了一个文件。

2、修改文件提交到服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、SVN的常见问题

前面的操作都是一个用户在进行操作,但在实际开发过程中,是很多小伙伴一起开发,这就可能会出现问题。用户A提交的文件,不小心被B修改了。比如在JAVA开发中,一个参数的改变可能就会出现BUG。

换个用户试一下。
在这里插入图片描述
在这里插入图片描述
清空权限,即不让之前的用户再操作这个文件夹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一般而言,项目开发中,此处B修改了文件。而用户A登录后更新文件,便会发现问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果要恢复成以前的文件的操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此次修改操作提交后。过段时间再回来看,不知道当初为什么要进行这个修改。
在这里插入图片描述
在这里插入图片描述

如果是其他伙伴误删文件。你更新后发现之前的文件不在了。
在这里插入图片描述
在这里插入图片描述

在本地磁盘上找到刚才保存的文件,再移动回去进行提交即可。

如果A和B都对文件进行了修改。并提交。都认为自己的文件是最新。假如B先提交。那么A再提交就会出现下面问题。
在这里插入图片描述
在这里插入图片描述
如果没有出现这个情况,说明改的不是同一行代码。而我这里测试时改的是同一行的内容。文件上出现了黄色感叹号,并出现了附带的几个文件,这时。SVN上出现了冲突。
在这里插入图片描述
在这里插入图片描述
将你需要的版本的名字改掉。并把其他文件删除,进行commit,这样提交上去的就是你想要的版本了。

如果多个用户修改的代码很多,产生冲突的地方不止一处。
在这里插入图片描述
在这里插入图片描述

用户A先将自己修改的文件移动出来将重命名,将SVN服务器上的新文件update下来后,再将自己的文件移动进来。
在这里插入图片描述
在这里插入图片描述
不管代码有多少行,都可以对比出不同的代码。不是在上面这个对话框中进行修改。而是在文件夹中去进行。修改后,删除自己的文件,再进行commit。

在实际开发中,如果B修改A定义的方法,而A更新后却没有及时发现。这在以后的开发中就存在一定的影响。过了很长时间项目进行测试时,发现定义的方法出现。那么除了上面磁盘上进行比对,还可以在svn历史记录(show log)上进行比对。
在这里插入图片描述
在这里插入图片描述
可以不断进行上面步骤去进行一版一版的比对。可以找到很久以前修改的版本。再进行相应修改即可。

猜你喜欢

转载自blog.csdn.net/qq_42347913/article/details/83045535