SVN快速入门(TSVN)
| 作者: | 北京群英汇信息技术有限公司 |
|---|---|
| 网址: | http://www.ossxp.com/ |
| 版本: | 0.1-35 |
| 日期: | 2011-07-05 10:51:59 |
| 版权信息: |
SVN的内容很多,即使其简明手册浓缩在一页纸很难,但是用一张超大的纸也许可以装得下。下面就是Windows平台下TortoiseSVN的简明操作手册,关于SVN的更多内容参见群英汇的SVN培训讲义或如下SVN官方文档。
SVNBOOK (Version Control with Subversion)
TSVN manual
http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
1 安装TortoiseSVN
TortoiseSVN简称TSVN,是在Windows平台上广泛使用的Subversion(SVN)客户端。该软件的标识是一只小乌龟(Tortoise),可以从 TSVN官方网站 下载TSVN软件的最新版。
下载并安装TSVN。
TSVN安装包有32位和64位两个版本,下载安装前先确认你Windows的版本(注意不是Windows XP和Windows 7的版本,而是由所支持的CPU指令架构是32位还是64位决定),如果不确定就先试试32位版本吧。
下载并安装中文语言包。
同样中文语言包也有32位和64位之分,根据你操作系统的版本进行选择。
先安装TSVN,再安装中文语言包,然后设置TSVN,将默认语种设置为中文。
设置方法如下:
在资源管理器中单击鼠标右键,弹出菜单参见图1。
图1:资源管理器右键弹出菜单
设置语种为中文。参见图2。
图2:设置TSVN语种
2 使用需知
TSVN是一个和Windows的资源管理器整合的应用,可从资源管理器、Windows的文件打开对话框甚至桌面上,通过单击鼠标右键,从弹出的右键菜单中调用相应功能。
使用TSVN前,需要从管理员那里确认:
- SVN版本库的地址是什么?例如: https://svn.ossxp.com/svn/demo
- 您的用户名和口令。
3 TSVN的使用
3.1 浏览远程版本库
项目的SVN版本库中可能包含非常多的文件,且开发主线、分支、里程碑都作为独立的目录存在,因此从项目的根目录检出版本库不是一个好主意。可以利用TSVN的远程版本库浏览功能,先看看版本库都有什么内容,然后根据需要检出。
在资源管理器中的右键菜单选择“版本库浏览器”,如图3所示。
图3:右键菜单中选中版本库浏览器
在弹出的URL地址录入框中输入版本库地址,如图4所示。
图4:输入版本库URL地址
因为连接的是HTTPS协议的SVN版本库,会询问是否接受HTTPS网站证书。选择总是接受,则以后访问任何该服务器上的版本库都不会再弹出类似证书确认对话框了。如图5所示。
图5:HTTPS网站证书确认
在弹出的认证对话框中输入SVN服务器登录的用户名和口令。如图6所示。
图6:输入用户名和口令
显示远程版本库的目录树。从图7可以看出该版本库有三个顶级目录,分别是:trunk(主线目录),branches(保存分支的根目录),tags(保存里程碑的根目录)。
图7:输入用户名和口令
可以直接通过版本库浏览器打开文件查看,或者进行其他操作,参见图8。
图8:直接通过版本库浏览器打开文件
3.2 检出远程版本库到工作区
虽然可以通过版本库浏览器直接查看远程版本库中的文件,甚至可以删除远程版本库的文件,但是如果要修改版本库中的文件,并将修改后的文件更新到远程版本库中,首先就需要用到SVN的检出命令。
检出动作就是将远程版本库的目录检出到本地的一个目录中。这个检出动作的目标目录(本地目录)称为本地工作区目录。
在资源管理器的右键菜单中选择”SVN检出“,或通过版本库浏览器选择要检出的目录,点击鼠标右键,如图9所示。
图9:版本库浏览器中的右键菜单
弹出的检出对话框,确认正确填写了版本库URL和目标目录(即标记为”检出至目录“)。如图10。
图10:检出对话框
检出一旦开始,显示检出的整个过程。检出的速度视网络带宽和数据下载量而异。如图11。
图11:检出过程
检出后,工作区目录下的文件和目录的图标会叠加上TSVN的标识,可以很容易的识别哪些文件被改动过,哪些文件是本地新增尚未添加到版本库等。
图12还显示出一个隐藏的目录 ".svn",在工作区的每一个子目录下都存在这个 ".svn" 目录,注意不要擅自改动该目录下的内容,更不能删除该目录。
图12:检出后的本地工作区
图13显示的是工作区文件修改后,文件、目录图标的变化。
图13:工作区文件改动后图标的改变
3.3 文件提交
在工作区中对文件进行了修改、增、删等操作后,如果想将改动更新至远程服务器,需要执行提交操作。
选择通过右键菜单中的提交动作,如图14所示。
图14:右键菜单中的提交
默认只有修改或其他已经被TSVN标识的文件被提交。如图15所示,本地新增和删除的文件因为尚未标识,缺省不进行提交。
图15:提交对话框
选择本地删除的文件,通过右键菜单标记为删除,如图16所示。
图16:将本地删除的文件标记为删除。
选择本地新增的文件,通过右键菜单标记为新增,如图17所示。
图17:将本地添加的文件标记为新增。
不要忘了撰写提交说明,如图18所示。
提交说明可以:为什么要修改这些文件,为什么要这么改,以及解决了什么问题,如有可能把相应的Bug编号也写上。
注意因为提交本身会自动记录谁、在什么时间、修改了哪些文件,因此这类信息没有必要放在提交说明中,以免造成不必要的重复。
图18:撰写提交说明,点击提交按钮
3.5 反删除文件
文件检入到版本库中便被永久记录,即使用户在客户端删除文件并提交,也只是在版本库最新提交中去掉了该文件,但在历史提交中文件仍然存在。SVN提供了恢复被删除文件的功能,用TSVN操作非常的简单。
在工作区进入到浏览提交日志的界面,找到删除文件的提交,右键点击被删除的文件弹出菜单中有”复原此版本作出的修改“一项,如图20所示。
图20:从工作区进入到浏览提交日志的界面
当点击”复原此版本作出的修改“后,TSVN弹出确认对话框,如图21所示。
图21:确认文件恢复的对话框
显示反删除的过程,如图22所示。
图22:反删除过程显示
经过上面操作后,曾经被删除的文件被找回,重新出现在工作区中。图23显示找回的文件的图标叠加了一个加号。
图23:曾经的删除文件被找回
反删除的最后一步就是执行提交,将反删除的文件提交到服务器上,这样才真正完成文件的反删除。
图24:提交完成文件反删除
SVN快速入门(TSVN)的更多相关文章
- SVN快速入门笔记【转】
1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...
- SVN 快速入门
一.SVN 简介 (1) SVN 是 Subversion 的缩写,是一个开源的版本控制系统(2) SVN 基于 C/S 架构,有一台中央服务器,多台客户端通过网络从中央服务器拉取或提交代码,以此达到 ...
- SVN 快速入门!
输入账户密码即可!
- GitHub新手快速入门日常操作流程
GitHub新手快速入门日常操作流程 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登录帐号 打开https://github.com/login,输入注册的 ...
- 快速入门系列--MVC--07与HTML5移动开发的结合
现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...
- Github快速入门手册
最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...
- 【云计算】Dockerfile、镜像、容器快速入门
Dockerfile.镜像.容器快速入门 1.1.Dockerfile书写示例 Dockerfile可以用来生成Docker镜像,它明确的定义了Image的生成过程.虽然直接修改容器也可以提交生成镜像 ...
- Git快速入门和常用命令
一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...
- .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练
写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...
随机推荐
- 怎么直接让火狐输入json数据,而不是弹出文件保存对话框?
一.问题再现: 我需要浏览器输出的是json数据,但是浏览器弹出的是一个文件保存的对话框,这样的体验有点差.所以想怎么让浏览器直接输出到浏览器的页面上面,并且格式的输出,还可以编辑. 测试数据: ht ...
- javascript 特效实现(2)——回到顶部效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux shell get random number
the Shell Profile: When a new interactive shell is started, /etc/profile, followed by /etc/bash.bash ...
- 译文:Nesting Your BEM?
原文链接:http://csswizardry.com/2016/11/nesting-your-bem/ 在我开始这篇文章之前,我得说这不是一个建议或者是新的"练习指南".这只是 ...
- SPOJ AMR12A The Black Riders --二分+二分图最大匹配
题意:有n个人,m个洞.每个洞能容纳一个人,每个人到每个洞需要花费一些时间.每个人到达一个洞后可以花C的时间来挖一个洞,并且最多挖一个洞,这样又能多容纳一人.求能使至少K个人进洞的最短时间. 解法:看 ...
- Spring 一二事(2)
静态工厂方法及实例工厂的使用: applicationContext.xml: <!-- factory-method 是指调用静态工厂方法 --> <bean id="h ...
- 本地不安装Oracle,plsql远程连接数据库
由于Oracle的庞大,有时候我们需要在只安装Oracle客户端如plsql.toad等的情况下去连接远程数据库,可是没有安装Oracle就没有一切的配置文件去支持.最后终于发现一个很有效的方法,Or ...
- 获取元素在浏览器中的绝对位置(从jquery1.8中抠出来)
<style> html,body{margin:0;padding:0;} .d1{margin-left:40px;background:red;width:2000px;height ...
- 谈谈redis主从复制的重点
Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝.下面是关于Redis主从复制的几点重要内容: Redis使用异步复制.但从Redis 2.8开始,从服务器会周期性的应答从复制流 ...
- 【转】MySQL 性能优化的最佳20多条经验分享
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操 ...