版本管理工具SVN

时间:2022-09-21 15:53:47

此文件根据慕课网 源生活老师的教学视频总结

视频地址 http://www.imooc.com/learn/109

一.SVN下载和安装配置

服务端下载地址 https://www.visualsvn.com/server/download/

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

下载后两个文件

版本管理工具SVN

  1. 服务端安装

除了下步的安装路径和仓库路径,其余都不用改,一路next

版本管理工具SVN

2. 配置服务端

(1)新建仓库

仓库分可以为很多个,每个工程放在独立的仓库里

版本管理工具SVN

在圆圈上右键,取名,一路next,就新建了一个仓库

版本管理工具SVN

(2) 新增用户

输入用户名和密码

版本管理工具SVN

完成了服务端配置

3. 安装和配置客户端

除了安装目录,一路next

安装后,在任意文件夹下右击鼠标 会发现多了一个checkOut功能

版本管理工具SVN

此功能是第一次从SVN的某一个仓库下载时候需要用到的。

点击此圆圈后,出现以下,需要输入服务端checkOut 的路径;

版本管理工具SVN

先填写URL Repository

此时回到服务端,点击要下载的仓库,右边出现了路径

版本管理工具SVN

此时分两种情况:

  1. 客户端和服务端在一台电脑上:

将该路径填写到URL Repository

  1. 客户端和服务端不在一台电脑上:将计算机名改成 服务端的IP:端口号

此端口号就是服务端安装时候的端口号

再填写checkOut Directory:就是你要下载到哪

第一次下载时候,需要输入用户名密码,就是上面在服务端建立的

下载完成后,下载地址下自动多了一个文件夹

版本管理工具SVN

点开,如果显示是空的,对win10 参考http://jingyan.baidu.com/album/acf728fd2853fef8e410a37f.html?picindex=4

文件夹可见了 如下:

版本管理工具SVN

此文件夹不要删,删了就废了,就成了普通文件夹,不可与服务端联系了。

在此文件夹下 可以进行对客户端的操作:增删改。。。

二.SVN基本操作

1. 新建文件

在刚刚下载的文件下新建一个文件test.java

版本管理工具SVN

此文件夹下 右键,如下

版本管理工具SVN

版本管理工具SVN

版本管理工具SVN

看服务端 刷新一下Test 看到提交成功了。

版本管理工具SVN

2. 删除文件

如果想删除,就在磁盘下删除,但不属于svn操作

试着删除一下此文件,再提交一下svn可以看到 文件missing了,如果提交给服务端,服务端的文件也就被删了。

版本管理工具SVN

3.修改文件

下面的大圆区域是 本次修改的说明,让别人知道你为啥改了。

版本管理工具SVN

改后提交,在服务端如下操作:

版本管理工具SVN

在浏览器中出现:

版本管理工具SVN

验证身份后,就可以看到修改后的代码

三.常见问题

很多小伙伴都有对Test仓库操作的权限

比如,

B将文件改完,提交了,A在自己的文件中,update了,发现自己的代码被别人改了,自己的代码也找不回来了,这时 SVN就可以让你知道谁动了这个代码,怎样找回代码!

版本管理工具SVN

版本管理工具SVN

这就是历史记录!看到了元凶

想恢复到某个版本:

版本管理工具SVN

本地再update就好啦!

如果小伙伴误删了代码,在Test文件夹下showLog

版本管理工具SVN

直接将该版本保存到你的文件夹里

1.SVN自动合并

A B同时下载最新文件,各自修改后,B先提交了,A再提交时,就会失败,需要update,这时 再提交的代码就是SVN自动合并后的代码。

如果AB不在同一行修改的,这就很不错

但如果是在同一行代码里改的,提交之前,文件夹里会多出三个文件,这时就不要提交了!SVN不知道怎么合并了。

现在打开你的文件(1),里面已经标识好了,哪里有问题:最新的代码是啥样的,你要与最新的作者去商量。

出现的三个文件里,(2)Test.java.mine 是本人的代码。后面的两个(3)(4),是最新的两个版本的代码,后缀都有版本号。(4)是最新的版本。

商量好了,

如果商量结果是你的代码,不要在(1)里改,因为里面自动生成了代码,改起来很麻烦。只需要将后缀为mine的文件(2)覆盖掉(1)即可(改后缀名)

如果商量结果是(4),在(1)上,右键,

版本管理工具SVN

2.代码对比

复制自己的代码到别处

Revert到之前的版本

更新

将自己之前的代码改个名字,复制到svn文件夹下,选中两个文件,对比

版本管理工具SVN

版本管理工具SVN

去商量问题吧,改完后提交,删掉自己原来的文件。

又一种情况:
A没有发现B改了代码,继续在B的上面改了,埋下隐患。B也这样。

后来A发现了这个问题,此时,已经过去了很多版。要去找B商量。

要Show log,在log里一版一版地对比即可。