SVN介绍及使用总结
SVN使用小技巧
- 一、SVN基本概念
- 二、服务端搭建
- 三、Windows下客户端TortoiseSVN的使用
- (1)安装
- (2)下载汉化包
- (3)检出checkout
- (4)更新Update
- (5)提交Commit
- A、增加两个文件,提交至远程仓库
- B、修改某个文件的内容,提交至远程仓库
- C、两个人同时修改了同一文件(非同一位置),没有更新即提交
- D、两个人同时修改了同一文件(同一位置),进行提交
- (6)show log查看提交日志
- (7)获取历史版本
- (8)还原
- (9)重定向
- (10)清理
一、SVN基本概念
Apache Subversion通常被缩写成 SVN,是一个开源的版本控制系统,以中央仓库的形式管理资源,同时会记录每一次文件的变动,且每一次变动对应唯一的版本号,用户可以从中央仓库下载版本至本地磁盘也叫作本地仓库进行修改,修改完之后需要提交至中央仓库,本地仓库为用户个人独有,因此可实现多用户协同办公的目的。SVN 分为客户端、服务端。客户端部署在用户本地,服务端一般部署在linux服务器上。
二、服务端搭建
linux端的SVN服务端自行搭建可参考部门SVN服务器迁移经验总结
如果仅是学习,可直接使用免费的、在线的svn仓库SVNbucket:https://svnbucket.com/
三、Windows下客户端TortoiseSVN的使用
(1)安装
去TortoiseSVN官网下载,官网地址:https://tortoisesvn.net/downloads.html
下载完成后,进行安装,安装过程如下:
Location可根据自己的需要进行修改,我这里直接以默认安装地址进行安装。
安装完成后,会要求电脑重启,可以选择立即重启也可后续自行重启。
当鼠标右键时,有出现SVN checkout和TortoiseSVN时,表示安装成功。
(2)下载汉化包
TortoseSVN下载默认安装的语言是英语,如果想要使用中文版,可以在官网下载汉化包:https://tortoisesvn.net/downloads.html
安装时,直接勾选Configure TortoiseSVN to use this language,会直接配置成中文语言,或者在TortoiseSVN --setting中设置也可。
在鼠标右键点击TortoiseSVN,选择setting,配置language:
(3)检出checkout
Checkout 操作是用来从远程版本仓库创建一个工作副本到本地。可以checkout一个目录,或者checkout一个文件。
操作过程:
鼠标右键选择Checkout,出现如下面板,按规则填写信息进行checkout:
checkout Depth(检出深度):
(1)full recursive :完全递归
(2)immediate children,including folders:直接子节点和子目录
(3)only file children:仅文件子节点
(4)only this item:仅此项
一般都是直接选择full recursive 完全递归检出。
首次checkout时,会提示输入用户名和密码,勾选永久保存,后续checkout就不需要重复输入用户名和密码啦。
checkout完成,本地目录下会发现存在.svn目录。
(4)更新Update
从远程版本仓库上将最新版本更新至本地仓库。一般在个人修改提交前都需要更新一下,防止出现冲突问题。
在checkout后的目录下,鼠标右键查看,会出现SVN Update按键,点击该按键即可实现本地仓库与远程仓库同步更新的内容。
(5)提交Commit
当本地仓库个人做了修改并调试通过后,需要提交至远程仓库,以便其他合作者能够获取到修改的内容。提交的过程是一个原子性操作,要么全部成功,要么全部不成功。当有一个文件提交失败时,当前批次提交的所有内容都会回滚,不会部分提交至远程仓库。
A、增加两个文件,提交至远程仓库
①增加两个文件:
②鼠标右键,点击SVN Commit:
③出现如下窗口,会显示修改的文件列表,根据个人修改勾选需要提交的文件,并填写相应的提交日志信息:
④提交成功:
B、修改某个文件的内容,提交至远程仓库
①修改test.doc的内容:
②提交该修改内容:
③提交成功:
④在提交之前也可以在提交的文件上双击,查看文件的修改是否是自己需要提交的内容:
确认后,确实是个人修改后需要提交的内容,即在提交页面勾选该文件,进行提交。
PS:有时候,自动化工程中,配置相关的文件,在本地需要修改后才能执行,但这些修改是不需要提交至远程仓库的。所以在提交的时候,配置相关的文件不应该被提交至远程仓库。
C、两个人同时修改了同一文件(非同一位置),没有更新即提交
①远程仓库最新版本和本地仓库做修改前的最新的版本不是一个版本:
②直接点击SVN Commit,提示提交失败,因为已经过时:
③点击上方OK按钮之后,会提示您进行Update操作:
④点击Update,会自动将最新的内容拉取到本地,进行更新后再commit。
⑤或者自己在本地仓库目录下,鼠标右键选择SVN Update进行更新后,再进行SVN Commit。
D、两个人同时修改了同一文件(同一位置),进行提交
如果两个人修改了同一位置,此时就会出现冲突,该冲突需要人工介入,解决冲突后,才可以提交成功。
①出现冲突时,会多出现3个文件(个人修改前本地仓库最新版本为11,远程仓库目前最新版本号为13):
②也可以直接打开name.py文件(分别是个人修改的内容.mine,本地修改前最新版本内容.r11,远程仓库最新版本内容.r13):
③根据三个版本的内容,解决冲突。(具体如何修改代码才是最好的解决办法,需要根据个人的具体业务场景来)
④然后将多出的三个文件进行删除后,再次提交内容。
(6)show log查看提交日志
查看提交日志,了解当前仓库的修改情况,具体由哪些人修改了哪些内容,了解当前项目的进度。
鼠标右键,Tortoise SVN–>show log:
其中可以查看到对应的版本号、动作、作者、时间、日志消息。
(7)获取历史版本
当两个的项目都在同一系统上做修改时,需要用前一个稳定版本作为基线,进行B项目的开发,可以从当前A项目的历史版本中获取到前一个稳定版本,而不包含当前正在开发的A项目的代码。
根据版本号进行获取,版本号可以点击Show log按钮查看(HEAD revision是最新版本):
(8)还原
当你在本地仓库修改调试后,发现当前修改并不是最优的修改方式,所做的修改不想要了,可以执行还原操作,将本地已修改的内容进行回退,回退到修改前的最新版本。
可根据需要还原一个或多个文件或目录。
如果已经提交了的内容想要还原,可以结合【获取历史版本】操作和【commit】操作。
先使用获取历史版本方式获取到前一个版本,然后再次重新commit一下,远程仓库的最新版本即变为上一次提交前的最新版本的内容。但版本号是不会回退的。
(9)重定向
当远程仓库发生迁移,无需重新checkout整个仓库到本地仓库,只需要选中本地仓库目录–鼠标右键–TortoiseSVN–relocate修改一下即可。
在To URL中填入新的url地址即可。
(10)清理
在本地仓库进行update时,偶尔会提示“**locked”的错误,这是由于一些操作中断,如磁盘空间不够,用户取消等造成本地仓库被锁定。这时候需要执行一下clear up操作,才可以进行后续的更新和提交。如果当前目录clear up还不行,那就再去父目录clear up。
对应的中文版:
如果还不能解决,只能删除.svn重新checkout一下,checkout之前请做好备份。
SVN介绍及使用总结相关推荐
- SVN介绍-如何使用SVN
吐槽 本文简单介绍SVN.Tortoise SVN.Visual SVN,可以让小白对SVN有正确.初步的理解. 查了很多关于SVN的文章,费了很大时间,我只是想知道怎么用SVN*** ...
- JAVAEE——SSH项目实战01:SVN介绍、eclipse插件安装和使用方法
1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...
- 工具 svn 介绍和简单用法
什么是svn svn 是 版本(软件每次发布称为一个版本)管理工具 分为 客户端安装包 (一般还有语言包 在设置切换语言) 服务器安装包 安装完桌面右键 出现svn选项为成功 没有请重启 1. ...
- 前后端分离完成CRUD和SVN介绍
跨域访问 什么是跨域访问: 跨域 就是跨域名来访问的数据 哪些属于跨域访问: 不同ip地址: 域名: www.baidu.com(ip 192.168.0.1) www.taobao.co ...
- 02~ 一步一步教你使用 SVN之SVN 的介绍
SVN的介绍 一.学习SVN的主要内容的介绍 1.基本操作:学习SVN有哪些基本操作 2.服务器端的安装配置:SVN中必不可少的2个环境之一,会在下面的课程中介绍服务器如何去安装和配置 3.客户端软件 ...
- SVN的安装和介绍以及SVN的配置和使用(包含IDEA集成SVN、SVN解决版本冲突问题)
文章目录 1. SVN介绍 1.1 SVN简介 1.2 SVN主要作用 1.3 基本概念 1.4 工作流程 1.5 生命周期 1.5.1 创建版本库(Create) 1.5.2 检出(Checkout ...
- 【SVN】1. SVN 安装部署
一. SVN概述 1. SVN 简介 Subversion 版本控制系统 简称 SVN. SVN 是一个跨平台开放源代码的集中式版本控制系统,可以实现文件及目录的保存及版本回溯. SVN ...
- SVN安装部署方案(一)
svn介绍 Subversion(SVN)是一个开源的,跨平台的版本控制系统,由CollabNet公司成立于2000年:Subversion作为新一代的版本管理系统,以其目录版本化.原子提交.版本化的 ...
- svn学习笔记(一)
一.svn介绍 1.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解决代码冲突困难 容易 ...
最新文章
- HTML和jQuery拆分成两个文件
- windbg模拟器不准确现象
- 资讯|WebRTC M91 更新
- Django---Model操作
- 一、【Collection、泛型】
- 【图像隐写】基于matlab高斯模型JPEG图像隐写【含Matlab源码 367期】
- [译]C#控制管理VisualSVN Server
- Crack内网通积分规则(基于版本3.4.3035)
- 控制寄存器(CR0,CR1,CR2,CR3)和CR4
- Python爬虫:对Uniqlo、Zara、HM等快销品牌的门店数量作统计并展示
- 多重for循环优化,提升运行效率
- Android 实现一个计时器
- 怎么增加照片的KB大小
- requests模块用法举例
- 几种服务分层架构及其对象命名规范
- 火山PC文件目录的创建复制移动等操作
- 使用 WP Mail SMTP 发送邮件给网站管理员
- 视频转动图gif在线工具
- 三体智能革命_郭朝晖 | 工业知识软件化:从自动化到智能化
- 实体店为什么要做小程序
热门文章
- 转一篇关于安装vue脚手架 执行到安装demo:setup e2e tests with nightwacth 要不要选择NO的问题的解释
- CSS3精选内容通俗易懂
- syslog配置及测试
- 苹果手机之间怎么传照片_如何使用蓝牙手机之间传照片
- linux 之 Deamon进程
- nova7s鸿蒙系统,华为四摄手机nova 2s开放升级GPU Turbo
- 中国的漫威,还很遥远么
- MTK平台替换签名key方法
- fm24c16c语言程序,铁电存储器FM24C16的页面写和任意字节读汇编程序
- 解决 E45: 'readonly' option is set (add ! to override)