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

SVN的使用技巧

SVN(Subversion)是近年来崛起的版本管理工具,因为是免费的,所以用的人还是不少的。故做一些总结。

如果是新手,基本对SVN一点都不了解的话,建议去学习一下这个系统的教程,讲的也很详细TortoiseSVN 使用教程 | 菜鸟教程 (runoob.com)

1:库内部直接修改-注意事项

1.1,进入库之前的一些小技巧

我一般都是这样,直接进库的;如下图

我们有时如果忘记了地址或者中途进了其他库;可以下下图界面,打开下拉选项

大家可以在下拉列表中找到之前使用的URL(url大家就暂时理解为地址,就可以了,比较不是搞以太网通讯的)

1.2 回到正题

我查了一些资料,都这么写,先要将需要修改文档所在的文件夹checkout到本地,本地修改后,在commit到库中去。其实除了这种方法外,还有一种直接在库中修改的办法。

准确的来说是修改库中已存在的文件

**1)鼠标移动到需要修改的文件,鼠标右单击出现以下界面

直接打开编辑,即可

最重要的一步,当我们编辑完毕时,需要先点击保存,然后叉掉编辑软件。出现commit界面

单击ok,即可完成在线修改。

重重重点:经过实践发现,这种办法有一个硬性要求,即一次只能对一个文件进行在线修改。

如果你对两个不同的文件同时edit的话,按照保存,叉掉之前的页面。这样的操作,系统不会自动弹出commit界面的。这一点需要非常注意!!!!

2:在线改名称

步骤一:

步骤2:直接双击文件名,即可修改成我们需要的文件名,然后点击OK即可

3:如何查找历史版本

这个也比较关键,因为有时我们修改了文档,结果发现不行,还得回到之前的版本 ,这其实在工程中还是非常常见的一种操作。

此时我们可以如何操作?个人推荐一种非常好用的办法

步骤1:单击需要放回之前版本的文件,选择showlog

本例中;修改之前,文件名称是“新建文件夹.txt”里面没有字符是空的

直接右击需要放回的历史版本,出现以下界面,直接选择Open或Open with即可,再将打开的存在本地,然后我一般是删除现有版本, 重新commit历史版本。

这时,就有同学出来问了1两个问题:

1:那我也不知道,我需要回归的到底是那一版文档(可能是因为文档更迭的版本太多了)

答:问的好,所以这就对我们提出了两点要求,**1)对文档需要做好命名工作。**2)每次在线修改后的log相当于我们修改的一个小总结,一个小comment 。最后我们也是需要注意尽量控制修改次数

2:又有同学会问,那如果有时候,手滑误删除了一个文档,该怎么找回,

4:如何查找已经删除或误删除文档

我们先将文件删除,然后点击空白区域,点击showlog

双击打开,就可以找回删除的文档,我一般本地另存,然后在commit到库中去。 

此外还需注意一点,有时我们需要查找很久之前的文档,先要在此处设置好查找的区间

5:在线模式如何及时更新别人的文档

通常一个SVN库,都是由很多人,一起编辑。如何才能更新别人的对库的修改。一般有两个办法

1:先关闭SVN,重新进入,就能看到别人的修改

2:最实用的,选中需要更新的文档,或进入需要更新的文档内部,点击Refresh即可

6:同一文件夹内,不能存在同名称的文件

如上图中,已经存在一个“新建文件夹文档.txt”,再将桌面的同名文件放到库中,就会直接报错

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 《黑神话:悟空》怎么备份游戏存档?
  • 【C++】认识C++(前言)
  • 顶级高效的ChatGPT论文润色提示词和使用技巧
  • AndroidStudio清除重置Http Proxy代理的方式
  • golang中string底层数据结构与上层数据结构的关系
  • Unite Shanghai 2024 技术专场 | Unity 6及未来规划:Unity引擎和服务路线图
  • Nginx 反向代理与负载均衡:深入解析 location 优先级
  • windows下ardusub仿真
  • 探索Python中文拼音转换的奥秘:xpinyin库
  • [Redis] Redis中的String类型
  • jantic/DeOldify部署(图片上色)附带Dockerfile和镜像
  • c#语言写一个数组排序函数
  • DApp开发入门指南:从概念到实践
  • NX二次开发—批量导出点工具
  • Java高级Day40-QQ项目全代码
  • cookie和session
  • Docker: 容器互访的三种方式
  • exif信息对照
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Js基础知识(四) - js运行原理与机制
  • js继承的实现方法
  • Vue 重置组件到初始状态
  • Vue2.x学习三:事件处理生命周期钩子
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 复习Javascript专题(四):js中的深浅拷贝
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 深度学习在携程攻略社区的应用
  • 为视图添加丝滑的水波纹
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • elasticsearch-head插件安装
  • gunicorn工作原理
  • hi-nginx-1.3.4编译安装
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​configparser --- 配置文件解析器​
  • ​力扣解法汇总946-验证栈序列
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (pytorch进阶之路)扩散概率模型
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (回溯) LeetCode 78. 子集
  • (力扣)循环队列的实现与详解(C语言)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (十) 初识 Docker file
  • (十一)手动添加用户和文件的特殊权限
  • (算法)硬币问题
  • (转)JAVA中的堆栈
  • (转)jQuery 基础
  • (转)LINQ之路
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .net core 6 集成 elasticsearch 并 使用分词器