系列四TortoiseSvn客户端软件
TortoiseSvn介绍
TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
TortoiseSvn安装过程
下载后,运行 TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi 程序,点击Next,下面的截图顺序即为安装步骤:
【步骤1】 安装界面见图。

【步骤2】选择安装地址,见图。

【步骤3】安装成功,见图

(点击Finish按钮后会提示重启系统,就算不提示重启也一定要手动重启,不然添加到代码库里的文件夹或文件就不会显示图标)
卸载完的时候也需要重启系统
TortoiseSvn配置和使用方法
前面我已经讲解了怎样安装TortoiseSVN。在系列三讲解中已经讲了怎么使用VisualSVN Server了,下面是TortoiseSVN的简单使用方法。
安装了LanguagePack_1.6.5.16974-win32-zh_CN之后打开TortoiseSvn的设置界面选择中文语言,见下图

签入源代码到SVN服务器
【步骤1】签入文件操作,连接SVN服务器
假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到VisualSVN Server上的代码库中里,首先右键点击StartKit文件夹,导入文件夹
这时候的右键菜单如下图所示:

【步骤2】签入新的项目文件
点击Import,弹出下面的窗体,见下图其中https://10.3.2.150是服务器名,svn是代码仓库的根目录,StartKit是我们在系列三中添加的一个代码库:
【注意】
左下角的CheckBox(包括忽略文件),在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。

点击OK按钮,会弹出下面的窗体,见下图要求输入凭据:

在上面的窗体中输入用户名和密码,点击OK按钮,如下图所示。

如上图所示,好了,源代码已经成功签入VisualSVN Server服务器了。这时候团队成员就可以迁出VisualSVN Server服务器上的源代码到自己的机器了。
签出源代码到本机
在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体,如下图

在上图中URL of Repository:下的文本框中输入VisualSVN Server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。
【注意】
上图中的Checkout Depth(签出深度),有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。
上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://10.3.2.150/svn/StartKit/ ,这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。
搞定!源代码已经成功签出到刚才新建的StartKit目录中。打开StartKit目录,可以看到如下图的文件夹结构如下图所示

一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片就会发生变化。
下图中我修改了其中的二个文件如下图所示。

大家看一下不同状态所对应的图片如下图所示。

我们已经知道怎么将源代码签入到VisualSVN Server服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。
提交修改过的文件到VisualSVN Server服务器
上面的图中,我修改了位于StartTest文件中的二个文件Main.cpp和StartTest.cpp,下面演示如何提交到VisualSVN Server服务器。
【注意】提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突(conflict)。
在StartTest文件夹上点击右键或在StartTest文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体如下图所示。

点击OK按钮后,弹出如下图的窗体,

添加新文件到VisualSVN Server服务器
我们在StartKit文件下添加一个新的类文件a.cpp,状态为non-version状态,在StartKit文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到VisualSVN Server服务器一样,就可以了。
另外也可以在文件a.cpp上点击右键,点击TortoiseSVN=>>Add, 选中a.cpp文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为新添加状态。
之后,我们要再SVN Commit这个文件一次,弹出如下图的窗体: 才可以将其真正提交到VisualSVN Server服务器上的代码库中。

上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。
更新本机代码与SVN服务器上最新的版本一致
这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。
【注意】更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
重命名文件或文件夹,并将修改提交到VisualSVN Server服务器
只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,
也需要我们使用SVN Commit提交到VisualSVN Server服务器后才真正重命名。
删除文件或文件夹,并将修改提交到SVN服务器
最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到VisualSVN Server服务器后才真正删除。
【注意】实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。
【注意】向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用。
【注意】:如果要删除(把文件夹放入回收站或者直接shift+delete,不是指从SVN服务器上删除)受TortoiseSVN版本管理的文件夹的时候,要选择“去除版本控制并增加到忽略列表”,如下图

这一篇到这里了,下一篇介绍AnkhSvn
系列四TortoiseSvn客户端软件的更多相关文章
- SVN--VisualSVN server 服务端和 TortoiseSVN客户端的基础使用
前言 在上一文http://www.cnblogs.com/wql025/p/5177699.html中,我们讲到了使用SVN的第一步,即下载.安装SVN的服务端软件--VisualSVN serve ...
- 【软件使用】TortoiseSVN版本管理软件使用简单说明
TortoiseSVN版本管理软件使用简单说明 很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载Tortois ...
- Netty4.x中文教程系列(四) 对象传输
Netty4.x中文教程系列(四) 对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个U ...
- SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端
前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...
- C#_自动化测试 (四) 自动卸载软件
在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累. 安装和卸载完全可以做成自动化. 安装软件我们可以通过自动化框架,自动点击Next,来自动安装. 卸载软件我们可以通过msiexec命 ...
- WCF编程系列(四)配置文件
WCF编程系列(四)配置文件 .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...
- Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS
如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...
- 分布式系列四: HTTP及HTTPS协议
分布式系列四: HTTP及HTTPS协议 非常全面的一篇HTTP的文章: 关于HTTP协议,一篇就够了 还有一个帮助理解HTTPS的文章: 也许,这样理解HTTPS更容易 本文的一些描述摘自这篇文章 ...
- Mina 系列(四)之KeepAliveFilter -- 心跳检测
Mina 系列(四)之KeepAliveFilter -- 心跳检测 摘要: 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实 ...
随机推荐
- 程序员的视角:java 线程(转)
在我们开始谈线程之前,不得不提下进程.无论进程还是线程都是很抽象的概念,有一个关于进程和线程很形象的比喻能帮我们更好的理解. 进程就像个房子,房子是一个包含了特定属性的容器,例如空间大小.卧室数量等. ...
- HttpClient(联网)
抽样: void GameRequest::initRequset(const char* url, cocos2d::CCObject* pTarget, cocos2d::SEL_CallFunc ...
- Eclipse关闭检查
有没有发现每次操作Eclipse过后,都会有build Workspace的操作一直在后台执行,JS校验一直validate,非常卡非常受不了有木有? 有木有?以下是我个人成功的步骤,曾经试过非常多次 ...
- ExtJS与JQuery对照
首先在介绍ExtJS和JQuery,然后进行比较 一个.什么是ExtJS? 1.ExtJS能够用来开发RIA也即富client的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面 ...
- Phpcms所有系统变量列表 Phpcms V9 文件目录结构
Phpcms所有系统变量列表 用户变量: view plaincopy to clipboardprint? $_userid 用户id $_username 用户名 $_areaid ...
- mysql字符串替换
数据库是Mysql的.我想把lesson表中的slide_path_dx字段中的类似 http://www.site.com/y/k/aote-02.rar 替换成E:\web\manhua\y\k\ ...
- J2EE请求和响应—Servlet
一.什么是Servlet? Servlet是执行Webserver上的一个特殊Java类.其特殊用途是响应client请求并做出处理.使得client与server端进行交互. 二.生命周期 Ser ...
- 讨论JDK的File.equal()
我们一般比较两个文件中的对象是相同的文件,通常使用java.io.File.equal().这里,equal()是不是文件内容的比较结果为.象是否指向同一个文件. File的equal()方法.实际上 ...
- FREESWITCH SEESION
SESSION SESSION为FS的核心概念之一,所以需要拿出来专门的分析下. 从以下几个方面进行分析,结构类型,资源的管理,对于呼叫的意义,规格. 1.结构类型 每一次呼叫会申请一个session ...
- Codeforces 32E Hide-and-Seek 乞讨2关于镜面反射点 计算几何
主题链接:点击打开链接 必须指出的是,反射镜和2个人共线是不是障碍,但根据该壁其他情况 #include<cstdio> #include<iostream> #include ...