系列四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框架,原本自己写了一个心跳协议实 ...
 
随机推荐
- 获取不同机型外置SD卡路径
			
/** * 运行挂载命令.返回挂载的地址.然后将地址解析 */ private void getExtSDCardPath() { try { Runtime runtime = Runtime.ge ...
 - 两个实验操作系统-ubuntu在安装配置pintos
			
安前两次莫名其妙, 蛋疼的实验操作系统.. 首先下错了总结第一次. 使用最后gdb调试pintos什么时候, 这个错误将被报告: bochsrc.txt:8: Bochs is not compile ...
 - Java开发环境的基本设置
			
作为Java的刚開始学习的人,不知道其它的刚開始学习的人有没有和我一样的感受:用Java开发须要配置这么复杂 的环境.太难了.第一次配置时,一团混乱.Oracle监听服务打不开了,PLSql连接不上O ...
 - SignalR技术
			
Asp.net SignalR快速入门 一.前言 之前半年时间感觉自己有点浮躁,导致停顿了半年多的时间没有更新博客,今天重新开始记录博文,希望自己可以找回初心,继续沉淀.由于最近做的项目中用到Sign ...
 - [Web Chart系列之五] 6. 实战draw2d之ConnectionRouter
			
前言 ConnectionRouter 的作用是定义连线的展示样式. 是直线连接还是曲线连接(好像也是基于Bezier曲线) 位于包: draw2d.layout.connection 下. 常见的有 ...
 - 辛星一起了解下后续PHP性能功能
			
关于第一个发言,这篇文章是我的原创.但,这些数据不被总结出来我,你可以搜索下"百度project师HDK",这些数据提供了他,我只是给一个总结.因为他很长的文章,我在这里提炼几点. ...
 - iOS设备定位
			
一.iOS谈到定位 1.SignInSignOutViewController.h @interface SignInSignOutViewController : UIViewController& ...
 - 询url包括字符串参数(js高度注意事项)
			
以防万一 url="http://write.blog.csdn.net/postedit? id=5&search=ok" function getArgs() { v ...
 - .net SMTP发送Email 更新(可带附件)
			
public static void sendEmail(string toAddress, string emailbody) { var fromAddre ...
 - linux经常使用解压缩命令
			
1.tar.gz 解压 tar -zxvf source.tar.gz 压缩 tar -zcvf target.tar.gz source1 source2 2.bz2 解压 tar -jxvf so ...