TortoiseSVN使用方法

 

安装和配置

TortoiseSVN的下载地址为

http://tortoisesvn.net/downloads.html

有32位和64位的版本,一定要根据自己的操作系统下载对应的版本,最好安装一个简体中文的Language packs,可以更好的理解TortoiseSVN的功能。

对比工具可以使用winmergebeyond compare,winmerge免费小巧,beyond compare功能更强大。这两款工具都比TortoiseSVN自带的对比工具要好一些。

在TortoiseSVN中的配置方法:

winmerge安装时勾选集成到TortoiseSVN

beyond compare要复杂一些,右键,TortoiseSVN - 设置,

差异查看器(Diff Viewer),设置用来比较不同版本文件的程序(comparing different revisions of files),设置用来比较不同版本属性的程序(comparing different revisions of properties),勾选外部,输入

"D:\Program Files\Beyond Compare 3\BComp.exe" %base %mine /title1=%bname /title2=%yname /leftreadonly

差异查看器/合并工具(Merge Tool),勾选外部,输入

"D:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs %base %merged /title1=%yname /title2=%tname /title3=%bname /title4=%mname

红色部分为beyong compare的路径,要带双引号。

创建本地版本库

要测试TortoiseSVN的功能,总不能在公司的正式服务器上乱搞把,所有先要创建一个测试的版本库。

新建一个文件夹,名字不要用中文,进入文件夹,点击右键TortoiseSVN - 在此创建版本库。

TortoiseSVN会在这个文件夹创建版本库,并且会弹出一个提示框

点击“创建目录结果”,然后启动版本库浏览器,就可以看到版本库的目录结构

通过点击“创建目录结果”,TortoiseSVN自动创建了3个文件夹,branches,tags,trunk,很多人都会使用TortoiseSVN,但是对这三个目录去取不了解。

trunk目录

主干目录,一般情况下是在此目录下进行代码的开发,这个目录应该存放最新的代码。

tags目录

代码的版本标记,这个目录的代码不允许更改,比如,软件发了1.0版本,就需要将1.0版本的代码在tags中放一份拷贝,发了2.0,就要在tag中标记一个2.0。如果1.0软件出现了bug,开发人员要验证bug,直接从tag中取1.0版本的代码就可以了,不会把个个版本混淆。

branches目录

分支目录,用于开发新功能或解决老版本的bug。比如,1.0版本上线,开发人员全力投入2.0版本的开发,但是,1.0版本突然出现了一个bug必须要修复,而且很紧急,不能等到2.0版本上线,这时候该怎么办呢。正确的做法是,从tag中取1.0版本的代码,建立一个新的分支,开发人员在这个分支上解决1.0发现的bug,解决完成并测试通过之后,在tag中添加一个新的版本标记,比如1.1,然后关闭这个分支。如果1.1再出现bug,那么从1.1建立分支,以此类推,直到2.0出现。

加入和检出工程

由于版本库是本地,我们可以通过文件路径来访问,右键TortoiseSVN - 版本库浏览器,输入

file:///F:/svn_test/

F:/svn_test/就是刚才创建版本库的文件夹

打开版本库浏览器,在trunk目录点击右键,加入文件夹,加入一个新的Android工程TestSVN。

然后将这个工程检出

.settings bin gen这三个目录和代码无关,要先忽略掉,选中这三个目录,右键 TortoiseSVN - 去除版本控制并增加的忽略列表。

提交代码后,这3个文件夹有改变的话不会有提示。

修改代码

删除文件,正确的做法是在要删除的文件上点击右键 - TortoiseSVN - 删除。

还原修改,右键 - TortoiseSVN - 还原。

重命名,同样,右键 - TortoiseSVN - 改名。

增加文件,右键 - TortoiseSVN - 增加,文件会变成小加号

移动文件,直接打开版本库浏览器拖动,或者剪切,提交

解决冲突,冲突形成的原因是两个人同时修改了一个文件的同一个地方,

例如:原始文件为,版本为1

package com.example.test;

public class Test {

    String test = null;

    public Test(String test){
this.test = test
}
}

A和B都checkout这个文件,A修改了文件并进行提交,文件版本变为2

package com.example.test;

public class Test {

    String test = null;

    public Test(String test){
this.test = "test"
}
}

B修改了文件

package com.example.test;

public class Test {

    String test = null;

    public Test(String test){
this.test = "aaa"
}
}

这时候,如果B更新文件,就会提示冲突

冲突原因是两人同时在版本1上进行了修改。

这时要求B对比对比A做的修改和自己的修改,同A沟通后确定最终的代码,然后进行合并。

这里用B的代码为最终代码,修改方法为:

在冲突文件点右键 - TortoiseSVN - 编辑冲突,在最下面的编辑框冲突的地方,也就是是红色叹号的位置点击右键

选择使用“我的”文本块,合并后的代码为:

package com.example.test;

public class Test {

    String test = null;

    public Test(String test){
this.test = "aaa"
}
}

去掉了this.test = test,增加了this.test = "aaa",保存,弹出窗口

选择标记为解决,冲突的叹号就没有了,文件就可以正常的提交了。

如果使用beyond compare的3路合并工具的话,代码更加的直观

左边为B修改后的文件,中间为原始文件,右边为A修改后的文件,最下边为合并后的文件。点击蓝色小箭头使用左边文件,点击黄色小箭头使用中间文件,点击紫色小箭头使用右边文件。

修为完成保存后,要手动标记为解决,右键 - TortoiseSVN - 解决。

创建分支和标记

说白了就是在其他的文件放一份拷贝,打开版本库浏览器,在要创建分支或标记的工程目录上点击右键

选择复制到,输入目标路径,分支是branches,标记是tags

最好输入日志信息,这样就实现了分支或标记

可以通过分支图查看,每增加一个分支,版本号加一。

创建和应用补丁

如果有多个分支,比如XXX纪念版,XXX专版,XXX增值版,修改一个地方要同步到多个分支,是个很麻烦的事情,这时候可以用补丁来解决。

还是使用上面的工程,有一个主干和两个分支,主干中有一个 Test.java 文件

public class Test {

    private String test;

    public Test(String test) {
this.test = test;
}
}

将 “this.test = test;” 修改为 “this.test = "aaa";”

在文件夹的空白处点右键 - TortoiseSVN - 创建补丁,选择修改的文件,点确定,创建一个Test.java.patch的补丁

在检出的分支中点击右键 - TortoiseSVN - 应用补丁,补丁效果如下

合并

在要合并的副本点击空白处点击右键 - TortoiseSVN - 合并,

选择第三个选项,

关于起始和结束的url,查看版本分支图

结束的必须大于起始的的版本号,我想把b1分支的版本5合并到主干,就按下图填写

提交代码后再次查看版本分支图

主干的版本号升级为6,合并完成。

 
 
 
标签: TortoiseSVN

TortoiseSVN使用方法 安装和配置的更多相关文章

  1. ubuntu下安装和配置apache2+SVN的详细方法介绍

    ubuntu安装和配置SVN第一步:安装apache2  libapache2-svn subversionsudo apt-get install apache2sudo apt-get insta ...

  2. TomCat的安装与配置方法

    经过自己的研究,各种烦,所以要写个博客,帮助大家安装这个软件. 一.安装TomCat(因为大家都安装了jdk,所以就不写了) 1.下载TomCat 网址如下:http://tomcat.apache. ...

  3. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  4. MySQL-5.6.13免安装版配置方法

    MySQL-5.6.13免安装版配置方法   1. 下载MySQL Community Server 5.6.13 2. 解压MySQL压缩包    将以下载的MySQL压缩包解压到自定义目录下,我的 ...

  5. 解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法

    [摘要:正在Windows Server 2008下间接装置SQL Server 2008时,会涌现以下毛病: 必需应用“脚色治理对象”装置或设置装备摆设Microsoft .NET Framewor ...

  6. 在Windows 7下面IIS7的安装和 配置ASP的正确方法

    在Windows 7下如何安装IIS7,以及IIS7在安装过程中的一些需要注意的设置,以及在IIS7下配置ASP的正确方法. 一.进入Windows 7的 控制面板,选择左侧的打开或关闭Windows ...

  7. mysql免安装版配置与使用方法

    mysql免安装版配置与使用方法      以mysql-noinstall-5.1.6(win32)为例 1>把压缩文件mysql-noinstall-5.1.6-alpha-win32.zi ...

  8. FCKeditor 2.6.6在ASP中的安装及配置方法分享--ZZ转载自网络

    FCKeditor目前的最新版本是2.6.6,在网上搜索此版本的配置方法,发现很少有asp的配置方法,以下就把自己的一些配置经验分享给有需要的你.   首先从FCKEditor官方下载最新的版本脚本之 ...

  9. Win7 32位系统下Sublime text 3的安装以及配置C/C++、java、python的开发环境方法

    本人初学者,此文仅是对这几天鼓捣subime text 3一点微不足道的经验总结,如有明显错误,欢迎指正! 好了,废话少说,进入正题,之前编程java一直用的是eclipse,java的主流IDE,后 ...

随机推荐

  1. 编译AVX代码,升级Redhat 5.5 GCC至4.7.1

    Redhat 的GCC编译器4.1版本号,为SSE4,AVX,AVX2支持不够好,官方建议4.7以上. 就这样开始了GCC升级之路. 因为Redhat 5.5它安装在一个虚拟机.全然解决,经过若干尝试 ...

  2. swift 注意事项 (十六) —— 可选链

    可选链(Optional Chaining) 我们都知道"可选型"是什么.那么可选链又是什么,举个样例解释一下: struct MyName{      var name } st ...

  3. js中从blob提取二进制

    文章结构: 一.所遇到的问题 二.解决方法 一. 服务器端通过websocket向浏览器端传输图片(二进制),需要根据不同的图片把图片显示在不同的位置,可行的一个方法是先把图片转化成二进制数组,再把二 ...

  4. Net社区虚拟大会

    微软“.Net社区虚拟大会”dotnetConf2015:关键词:.NET 创新.开源.跨平台 去年 11 月的时候,微软开源了 .NET CoreFX,然后是今年 2 月份的 .NET CoreCL ...

  5. ionic入门之基本布局

    目录: 简介 Hybrid vs. Others ionic CSS框架 基本布局 布局模式 定高条块:.bar .bar : 位置 .bar : 嵌入子元素 .bar : 嵌入input 内容:.c ...

  6. 省钱加油(Fuel Economy)题解

    题目 农夫约翰决定去做一个环游国家旅行,为了不让他的奶牛们感到孤单,于是他决定租一辆货车带领他的奶牛们一起去旅行.这辆货车的油箱最多可以承载G 个单位的油,同时为了简化问题,规定每一个单位的油可以行使 ...

  7. CORS(跨域资源共享)跨域问题及解决

    当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯 ...

  8. JavaEE——Intellij Idea 创建JavaWeb项目

    原文:JavaEE--Intellij Idea 创建JavaWeb项目 折腾Tomcat折腾了两个晚上,第一个晚上怎么都进不了Tomcat的首页,第二个晚上进去了,但是新建的Web项目,在浏览器中运 ...

  9. 【淡墨Unity3D Shader计划】五 圣诞用品: Unity在Shader三种形式的控制&混合操作编译

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/42060963 作者:毛星云(浅墨)  ...

  10. 《C语言及程序设计初步》网络课程主页

    题记 CSDN要开在线教育频道,向我发出邀请,看能否开些课程. 我近日一直在关注着翻转课堂,试图在传统课堂中引入新的元素,这须要资源建设的积累.没有时间表的工作,非常难把握. 为CSDN做在线课程,为 ...