当前位置: 首页 > news >正文

SVN客户端

SVN是Subversion的简称,是一个开源的代码版本控制系统

 

SVN客户端操作

  • checkout 检出:初次下载-第一次连接svn服务器时候需要下载对应仓库的数据(如果仓库中有数据的话)
  • add 新增:新增数据到svn服务器
  • update 更新:更新数据-检查svn 服务器中的数据是否与本地的数据一致,如果不一致就下载改变/新增部分,同时不会删除本地数据
  • delete 删除:删除svn的数据(需要搭配commit命令)
  • revert 回滚:将指定版本的代码回滚到本地,如要提交到服务器需要搭配commit命令

 

 

检出、新增、更新

隐藏的项目里面还有个.svn目录,和.git一样,svn版本管理就是通过这里面的文件进行管理的

我们来到trunk下,新建一个文件

怎样将其更新到svn服务器呢

这样知识添加了add标识,还没有更新到svn服务器

 

更新到svn服务器,我们需要提交

上面是写注释的

提交完毕会更新版本号,版本号每更新一步会+1

 

此时服务器中就出现了我们提交的文件了

 

现在我们来到lain

右键checkout检出

现在我们修改Item.java

修改之后就变成了红色标志

然后我们点击提交

因为是修改,不是新建文件,就没有add操作了

现在变成第三版了

 

现在在joey目录下,他的项目是第二版的

想要获得第三版,右键更新一下

 

删除

在joey中,将Item.java删除掉

在文件上右键

但这样只是删除本地并打上标记,服务器上并没有删除

此时右键,提交

现在服务器上就没有Item.java文件了

我们到 lain的目录下

update

此时Item也就删除了

 

回滚

如果是误删除的话,怎么找回呢

可以用 回滚 命令

在任意目录,右键,显示日志

现在是在4版本,如果我们想回到3版本

在3版本上右键,回滚到此版本

这样只是将Item.java回滚到本地,服务器还没有这个文件

所以我们还要commit到服务器中

右键,提交

 

代码冲突

也即版本冲突

在提交的时候svn server的版本必须要小于svn 客户端的版本才能提交成功

开始joey和lain都是相同的版本

此时joey和lain中分别修改Item.java

我们先把lain的提交上去

此时我们再提交joey的

提交失败,报错了

要求我们更新,点击确定以后会自动弹出是否更新


此时目录下产生了多个文件

再Item.java中

将冲突的地方已经合并,标出来了

我们根据自己的需求更改

.mine是joey自己改动的文件

.r5是没有jeoy修改之前的r5版本

.r6是lain修改之后提交到服务器的r6版本

我们可以把这三个文件删除掉

之后再更新

就成了r7版本

 

下载指定版本号的文件

在开发的时候,经常会查看历史版本的一些文件,当然这个时候不需要回滚到那个版本,只需要查看一两个文件

右键,show log

可以看到我们现在是第7版,如果想看第3版的文件,就右键保存

自己选择保存位置,就被保存下来了

 

代码对比工具

右键,show log

双击之前版本的文件

就会出现代码对比工具

如果想要指定版本代码对比

直接在show log那里ctrl选中2个文件就好了

双击文件

 

按照版本检出

右键,检出

可以选择版本,版本不确定还可以显示日志

 

 

 

相关文章:

  • Windows批处理文件bat/cmd
  • IDEA 操作快捷键
  • Python迭代器 iterator(iter next) 生成器 generator(yield) yield
  • Python协程(generator, yield, send)
  • 虚拟机 虚拟硬盘
  • 8086处理器 硬盘
  • 虚拟机快照
  • 虚拟机克隆 将虚拟机导出为 OVF 格式
  • VMware虚拟机与主机共享文件夹
  • Python异步IO协程 (asyncio)
  • 编译原理 1.1
  • 编译原理1.2
  • 汇编语言的种类
  • Bochs虚拟机 编写主引导扇区程序并执行
  • 编译原理2.1
  • SegmentFault for Android 3.0 发布
  • [译]CSS 居中(Center)方法大合集
  • Android 架构优化~MVP 架构改造
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • vagrant 添加本地 box 安装 laravel homestead
  • Vim 折腾记
  • vue学习系列(二)vue-cli
  • 半理解系列--Promise的进化史
  • 初识MongoDB分片
  • 从重复到重用
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 数组大概知多少
  • MyCAT水平分库
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • $.ajax()方法详解
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (四)汇编语言——简单程序
  • (转) 深度模型优化性能 调参
  • (转)Windows2003安全设置/维护
  • (转)德国人的记事本
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .NET Core 2.1路线图
  • .net core 6 redis操作类
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net的socket示例
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @Autowired @Resource @Qualifier的区别
  • @Query中countQuery的介绍
  • [20190401]关于semtimedop函数调用.txt
  • [AIGC] MySQL存储引擎详解
  • [Android]Tool-Systrace
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法