版本管理工具SVN

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了版本管理工具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里一版一版地对比即可。

以上是关于版本管理工具SVN的主要内容,如果未能解决你的问题,请参考以下文章

SVN版本控制工具的使用

SVN的安装和配置

windows_server svn服务器安装及配置

(转)SVN 服务端客户端安装及配置导入导出项目

版本控制SVN服务端的安装配置

版本控制SVN服务端的安装配置