版本管理工具SVN
此文件根据慕课网 源生活老师的教学视频总结
视频地址 http://www.imooc.com/learn/109
一.SVN下载和安装配置
服务端下载地址 https://www.visualsvn.com/server/download/
客户端下载地址 https://tortoisesvn.net/downloads.html
下载后两个文件

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

2. 配置服务端
(1)新建仓库
仓库分可以为很多个,每个工程放在独立的仓库里

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

(2) 新增用户
输入用户名和密码

完成了服务端配置
3. 安装和配置客户端
除了安装目录,一路next
安装后,在任意文件夹下右击鼠标 会发现多了一个checkOut功能

此功能是第一次从SVN的某一个仓库下载时候需要用到的。
点击此圆圈后,出现以下,需要输入服务端checkOut 的路径;

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

此时分两种情况:
- 客户端和服务端在一台电脑上:
将该路径填写到URL Repository
- 客户端和服务端不在一台电脑上:将计算机名改成 服务端的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的更多相关文章
- 在Eclipse中使用版本管理工具SVN
近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具.由于平时主要是写Java代码,所以能够在Eclipse中使用SVN工具进行版本管理就可以说是很 ...
- 版本管理工具 —— SVN
想想我们在开发过程中是不是会遇到这样的情况: 今天写了很长的一段代码,觉得不合理,然后删了,第二天突然发现昨天的那段代码才是正确的,那怎么办,也无法撤销删除的代码? 还有团队中多人共同开发一个项目,如 ...
- 版本管理工具svn简介
svn简介 SVN是一种C/S架构的版本管理软件 , 能够帮助我们保存开发过程中各个文件的所有历史版本, 你因此可以方便的找回软件的任何一个历史状态., 日常开发中经常用到. 安装使用 1. 在 u ...
- 版本管理工具svn(转)
这种操作类的文章就不自己再写了,感觉浪费时间. 找了一个写的不错的文章转载. 文中流程有些变动,但是问题不大,可能是版本原因. SVN服务器的本地搭建和使用 http://www.2cto.com/o ...
- 版本管理工具SVN学习(一):简单的SVN命令,兼对比Git
新公司用SVN来管理代码,而且公司自己搭建了SVN服务器,所以要学习下SVN的相关命令.服务器搭建等技能知识.上家公司是用Git管理代码,而且代码托管在git@oschina上,自然不用操心Git服务 ...
- 版本管理工具---svn搭建与使用
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion ...
- 版本管理工具SVN的使用
一.安装服务器端和客户端 需要的软件: 1.服务器端:SlikSVN,下载传送门:http://www.sliksvn.com/en/download/ 2.客户端:“乌龟”,下载传送门:http:/ ...
- 关于版本管理工具SVN
曾经使用过Git,但是目前使用的是相对简单的svn. 刚使用的时候,如果不出意外.会有同学配好环境与权限. 前端只需要将代码下载,修改,更新,与上传. 一 .下载 1.本地新建文件夹,作为本地仓库 命 ...
- 软件版本管理工具-SVN
一.SVN简介 Subversion(svn)是一款开发源代码的版本控制系统. repository(源代码库):源代码统一存放的地方 Checkout(检出):当你手上没有源代码的时候,你需要从re ...
随机推荐
- 修改USB固件库的Customer_HID例程
我用的是神州三号开发板子,板子的USB模块原理图为: 配置端口G的11号引脚为usb的使能引脚,按理来说应该是开漏输出的(看了很多的修改代码都是这个模式),不过就是不能使能usb,只能配置成推挽的才行 ...
- tomcat匹配请求流程(原创)
tomcat8.0.36 配置Connector属性allowTrace为true时,允许TRACE方法,默认禁止. tomcat8.0.36有一个BUG,该BUG在8.0.37里被修复,就是一个解析 ...
- (三)WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或 ...
- App Widget
AppWidgetProviderInfo对象: 为App Widget提供元数据(描述数据的数据,如XML.关系型数据的表结构),包括布 局,更新频率等数据.这个对象被定义在XML文件当中: App ...
- HTTP图解(大牛必经之路)
本节内容 俗话说好的开发,底层知识必须过硬,不然再创新的技术,你也理解不深入,比如python web开发工程师,想要学习任何一个框架,底层都是http和socket,底层抓牢了,学起来会很轻松,所以 ...
- 实现iOS图片等资源文件的热更新化(三):动态的资源文件夹
简介 此文,将尝试动态从某个不确定的文件夹中加载资源文件.文章,会继续完善自定义的 imageNamed 函数,并为下一篇文章铺垫. 这么做的意义 正如我们经常所说的那样,大多数情景知道做事的意义往往 ...
- [转载]C/C++框架和库
C/C++框架和库 装载自:http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 Webbench Web ...
- [Asp.net 5] Localization-resx资源文件的管理
上一篇博文地址:[Asp.net 5] Localization-简单易用的本地化-全球化信息 本文继续介绍asp.net 5多语言.今天重点讲的是多语言的resx文件.涉及到的工程有:Microso ...
- C#基础-关于用json给控制台程序传值的坑
上周遇到了一个非常诡异的坑,首先写了两个程序,第一个程序输出成dll,第二个程序是控制台程序. 在第一个程序里,我使用了process去启动第二个程序,同时传入了一个Json作为参数,即: Proce ...
- Css 进阶篇
一.Css2 高阶知识(常用) 1. css 优先权 优先权(从低到高) 浏览器缺省设置 外部样式表 内部样式表(位于 <head> 标签内部) 内联样式(在 HTML 元素内部) 因此, ...