你的位置:首页 > ASP.net教程

[ASP.net教程]版本管理工具SVN


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

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

一.SVN下载和安装配置

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

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

 

下载后两个文件

 

  1. 服务端安装


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

 

 

2. 配置服务端

 

(1)新建仓库

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

 

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

 

(2) 新增用户

输入用户名和密码

完成了服务端配置

 

3. 安装和配置客户端

除了安装目录,一路next

 

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

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

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

 

先填写URL Repository

 

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

 

此时分两种情况:

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

将该路径填写到URL Repository

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

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

 

 

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

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

 

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

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

 

文件夹可见了 如下:

 

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

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

 

二.SVN基本操作

1. 新建文件

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

此文件夹下 右键,如下

 

 

 

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

 

2. 删除文件

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

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

3.修改文件

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

 

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

 

在浏览器中出现:

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

 

三.常见问题

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

比如,

 

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

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

 

想恢复到某个版本:

本地再update就好啦!

 

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

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

 

1.SVN自动合并

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

 

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

 

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

 

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

 

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

 

商量好了,

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

 

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

 

 

2.代码对比

复制自己的代码到别处

Revert到之前的版本

更新

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

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

 

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

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

 

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