原文:系列四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

开篇

系列一 版本管理软件简介

系列二VS项目软件配置工具介绍

系列三VisualSvn Server

系列四TortoiseSvn客户端软件

系列五AnkhSvn

系列四TortoiseSvn客户端软件的更多相关文章

  1. SVN--VisualSVN server 服务端和 TortoiseSVN客户端的基础使用

    前言 在上一文http://www.cnblogs.com/wql025/p/5177699.html中,我们讲到了使用SVN的第一步,即下载.安装SVN的服务端软件--VisualSVN serve ...

  2. 【软件使用】TortoiseSVN版本管理软件使用简单说明

    TortoiseSVN版本管理软件使用简单说明 很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载Tortois ...

  3. Netty4.x中文教程系列(四) 对象传输

    Netty4.x中文教程系列(四)  对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个U ...

  4. SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端

    前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...

  5. C#_自动化测试 (四) 自动卸载软件

    在平常的测试工作中,经常要安装软件,卸载软件,  即繁琐又累.  安装和卸载完全可以做成自动化. 安装软件我们可以通过自动化框架,自动点击Next,来自动安装.  卸载软件我们可以通过msiexec命 ...

  6. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...

  7. Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS

    如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...

  8. 分布式系列四: HTTP及HTTPS协议

    分布式系列四: HTTP及HTTPS协议 非常全面的一篇HTTP的文章: 关于HTTP协议,一篇就够了 还有一个帮助理解HTTPS的文章: 也许,这样理解HTTPS更容易 本文的一些描述摘自这篇文章 ...

  9. Mina 系列(四)之KeepAliveFilter -- 心跳检测

    Mina 系列(四)之KeepAliveFilter -- 心跳检测 摘要: 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实 ...

随机推荐

  1. WPF自定义圆形按钮样式资源文件

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  2. Extjs4.10Model模型具体解释

    一.创建Model模型 Extjs4.10提供了两种方法来创建Model模型,也就是创建类 方法一: Ext.define('person',{              extend:'Ext.da ...

  3. arcgis jsapi 调用google地区服务

    做地理信息系统(GIS)项目,除了实现功能用户体验度要好之外,最重要的是地图渲染效果更要好.很多时候苦于数据的完整性和对于配图的审美观,程序猿们都很难配出好看的地图效果.基于上述一般直接调用googl ...

  4. ecshop首页调用指定分类的所有产品(指定一级调二级)

    第一种方法 第一 在/includes/lib_goods.php下增加如下代码,用过网上的直接换掉就可以 function index_get_cat_id_goods_best_list($cat ...

  5. oracle看到用户的所有表名、表睐、字段名称、现场的目光、是空的、字段类型

    --oracle看到用户的所有表名.表睐.字段名称.现场的目光.是空的.字段类型 select distinct TABLE_COLUMN.*, TABLE_NALLABLE.DATA_TYPE, T ...

  6. 佛祖保佑 永无BUG 永不改动

    //////////////////////////////////////////////////////////////////// // _ooOoo_ // // o8888888o // / ...

  7. 行为驱动开发(BDD)

    行为驱动开发(BDD) 引言 BDD是对TDD理念的扩展.BDD强调有利害关系的技术团体和非技术团队都要参与到软件开发过程中.可以把它看成一种强调团体间合作的敏捷方法.大多数采用某种敏捷方法的团队最终 ...

  8. Socket的错误码和描述(中英文翻译)

    Socket的错误码和描述(中英文翻译) //下面是Socket Error的错误码和描述: Socket error 0 - Directly send error  Socket error 10 ...

  9. [模式识别].(希腊)西奥多里蒂斯&lt;第四版&gt;笔记8它__模板匹配

      在语音识别方面,同样的话都是同一个人,每次说的情况是不同的,难以识别.本章是定义如何适应不同的情况有不同的特性指标. 1,基于最优路径搜索的度量:①贝尔曼最优性原则和动态编程②编辑距离(The E ...

  10. Nubia Z5S 官方4.4 201内測版 内核版本号信息

    从egl推断内核的的版本号: OpenGL ES Shader Compiler Version: E031.24.00.14 Build Date: 04/29/14 Tue Local Branc ...