版本管理工具SVN

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

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

一.SVN下载和安装配置

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

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

 

下载后两个文件spa

 

  1. 服务端安装

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

 

 

2. 配置服务端

 

(1)新建仓库

仓库分能够为不少个,每一个工程放在独立的仓库里3d

 

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

 

(2) 新增用户

输入用户名和密码server

完成了服务端配置htm

 

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里一版一版地对比便可。