1.  TortoiseSVN 简介

版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。

2.  什么是 TortoiseSVN

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。

某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。

3.  名词解释

3.1 检出工作副本

你的版本库就像是一台时间机器,它记录了所有提交的修改,允许你检查文件或目录以及相关元数据的历史。通过一个Subversion 命令你可以根据时间或修订号取出一个过去的版本(或者恢复现在的工作拷贝),然而,有时候我们只是想看看历史而不想回到历史

3.2 提交修改

可以理解为上传修改文件的记录,就是把工作副本里面修改过的文件的记录上传到版本库里面。

3.3 更新工作副本

可以理解为下载最新版本库文件的记录,就是把版本库里面最新上传的文件记录下载到工作副本里面。

3.4 锁定—修改—解锁

许多版本控制系统使用“锁定—修改—解锁”机制解决这种问题,在这样的模型里,在一个时间段版本库的一个文件只允许被一个人修改。首先在修改之前,Harry 要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果Harry 锁住这个文件,Sally 不能做任何修改,如果Sally 想请求得到一个锁,版本库会拒绝这个请求。Harry 结束编辑并且放开这个锁之前,她只可以阅读文件。Harry 解锁后,就要换班了,Sally 得到自己的轮换位置,锁定并且开始编辑这个文件。

4.  TortoiseSVN 安装

安装TortoiseSVN 软件,鼠标左键双击” TortoiseSVN-1.7.7.22907-x64-svn-1.7.5.msi”,

如图所示进行安装。

[注意:图中以TortoiseSVN1.6作为演示,如下安装使用说明同样使用1.7版本]

出现提示,重新启动计算机安装完毕。

注:如果有需要使用中文版可以加装中文语言包,以下是以中文界面作为操作说明。

5.  安装TortoiseSVN 遇到问题解决方法

安装TortoiseSVN 不成功出现错误提示“Service "VisualSVNServer" failed to start. Verifythat you have sufficient privileges to start system services.”,解决方法:这是Windows Installer 的问题,重新安装Windows Installer 即可,如有安装问题请与管理员联系。

6.  TortoiseSVN 使用

6.1 检出工作副本

大多数时候,你会使用 检出 从版本库取出一个新拷贝开始使用Subversion,这样会在本机创建一个项目的“本地拷贝”。选择一个存放工作副本目录。右键点击弹出右键菜单,选择“SVN 检出 …”

注:你首先要检出主线(trunk),这样版本库才知道你要接受管理的程序在磁盘哪个目录。看上去什么都没有发生,但实际上这个操作让版本库把你的项目目录纳入管理了在你硬盘的适当的位置(例:e:\yfb),目标文件夹点击右键,选择 “SVN  检出…”

然后就会弹出一个  检出 选项对话框,输入远程项目目录和本地工作目录,例:Ft-llb 服务器的svn 目录下的yfb 版本库,远程项目地址为:https://ft-llb/svn/yfb/

点击确认,就会弹出一个远程服务器要求验证的对话框,输入正确的用户名和密码。

检出成功后,会在“检出”目录出现绿色小勾,“检出”根目录也会出现.svn 隐藏目录。

6.2 提交修改  

 

将你对工作副本的修改发送给版本库,称为提交修改。但在你提交之前确保你的工作副本是最新的。你可以直接使用 Svn 更新,或者,你可以先使用“TortoiseSVN --> 检查修改”看看哪些文件在本地或是服务器上已经有了改动。

如果你的工作副本是最新的,并且没有冲突,你就已经为提交做好准备了,选择你要的文件和/或文件夹,然后“svn 提交 ......”

在你做了修改之后,你可以在项目文件夹下点击右键或者你修改的文件下点击右键,选择“SVN 提交…”,这两者的区别在于,第一个可以一次提交你所做所有文件的修改,而第二个只是提交你所选的文件。

点击 Svn 提交 之后,就会弹出一个让你输入更改 “日志” 的对话框:

输入你所作的修改,然后点击 确认,就会开始向远程服务器提交修改。

提交文件成功!返回信息!“完毕!”表示文件已成功提交。点击“确认”按钮确定更新文件成功。

6.3 更新工作副本  

 

更新多个项目在Subversion 还不是原子操作,所以TortoiseSVN会首先找到版本库的HEAD修订版本,然后将所有项目更新到特定修订版本,防止出现混合修订版本的工作副本。如果只有一个项目被选中更新,或选中的项目来自不同的版本库,TortoiseSVN 只会更新到HEAD。

在工作副本里面选定文件夹或文件,右键菜单 Svn 更新。

出现一个对话框,输入正确的用户名和密码即可向版本库提交你想更新文件的信息。

更新文件成功!返回信息!“Completed”表示文件已成功更新;“于版本:17”表示更新文件版本号为3。点击“确认”按钮确定更新文件成功。

6.4 锁定  

选择工作副本中你想要获取锁定的文件,然后选择命令“TortoiseSVN --> 获取锁定…”

出现一个对话框,允许你输入注释,这样别人知道你为什么锁定这个文件。注释是可选的,并且只用于基于Subversion 的库。选择需要锁定的文件在复选框打勾,点击“确定”按钮锁定选择的文件。

出现一个对话框,输入正确的用户名和密码即可向版本库提交你想锁定文件的信息。

锁定文件成功!返回信息!“被llb锁定”表示文件已被llb 用户锁定;“E:\yfb\liulebin\fdsf.txt”表示锁定文件的名称。点击“确认”按钮确定锁定文件成功。

6.5 释放锁定(取消锁定)  

选择工作副本中你想要取消锁定的文件,然后选择命令“TortoiseSVN ---> 释放锁定…”

出现一个对话框,选择需要取消锁定的文件在复选框里打勾,点击“确定”按钮。

出现一个对话框,输入正确的用户名和密码即可向版本库提交你想取消锁定文件的信息。

取消锁定文件成功!返回信息!“已解触锁定!”表示文件已被解除锁定;“E:\yfb\liulebin\fdsf.txt”表示释放锁定文件的名称。点击“确认”按钮确定锁定文件成功。

7.  其它功能  

7.1 网页浏览

你可以使用该地址  http://tsinghua-s1/pc1/ 在网页上浏览项目,同样需要和前面一样的用户名、密码。备注:pc1为项目文件目录名称

7.2 SVN还原

取消上一次的操作(只针对客户端,服务端不做改动)

7.3 版本库浏览

7.4 版本示意图

7.5 显示日志

查看版本日志及不同版本间相互比较

7.6 检查修改

同服务器上的项目版本进行比较,并可做相应的修改。

8.  MyEclipse10开发环境下SVN使用配置

(一)、将下载SVN插件解压后,放置到MyEclipse安装目录的“dropins” 目录下

(二)、重新启动MyEclipse,选择Window/Show View/Other菜单

进入后

(三)、在MyEclipse  “SVN资源库”中右击,选择“新建”/ “资源库位置”

输入SVN地址

(四)、选择 “truck”应用程序主干,检出源码到本地

9. 小技巧  

工作副本下.svn 目录被删除了怎么办?

工作拷贝中的任何一个目录包括一个名为.svn 管理区域,通常列表操作不显示这个目录,

但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个管理区域的任何东

西,Subversion 使用它来管理工作拷贝。

如果你不小心删除了子目录.svn,最简单的解决办法是删除包含的目录(普通的文件系统删

除,而不是svn delete),然后在父目录运行svn svn 更新,Subversion 客户端会重新下载你

删除的目录,并包含新的.svn。

附件下载地址:

features.zip     myeclipse10 svn插件

TortoiseSVN-1.7.7.22907-x64-svn-1.7.5.msi   SVN客户端

客户端、及浏览器的访问地址均为 :http://tsinghua-s1/项目名称

Windows 平台下Myeclipse 10 中SVN 插件使用教程(TortoiseSVN)的更多相关文章

  1. Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)

    Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...

  2. Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法

    Windows平台下Qt中glut库的使用     用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是 ...

  3. MyEclipse 10安装SVN插件subclipse

    1. 下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?expandFolder=2240& ...

  4. Windows平台下Python2.7中pip的安装方法

    本文允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 文件下载 需要下载并运行ez_se ...

  5. [转]Windows平台下Makefile学习笔记

    Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译 ...

  6. 【VS开发】Windows平台下Makefile学习笔记

    作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开 ...

  7. Windows平台下Oracle实例启动过程中日志输出

    Windows平台下Oracle实例启动过程中日志输出记录. 路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log 输出内 ...

  8. MyEclipse 10 中安装Android ADT 22插件的方法

    MyEclipse 10 中安装Android ADT 22插件的方法 下载ADT包:http://dl.google.com/android/ADT-22.0.0.zip 将ADT-22.0.0.z ...

  9. Windows平台下Oracle监听服务启动过程中日志输出

    Windows平台下Oracle监听服务启动过程中日志输出记录. 日志目录:D:\app\Administrator\diag\tnslsnr\WIN-RU03CB21QGA\listener\tra ...

随机推荐

  1. RT/Metro商店应用如何调用SQLite数据库

    RT/Metro商店应用如何调用SQLite数据库 使用前,要安装:SQLite for Windows Runtime (Windows 8.1)(一个VS插件).还有Visual C++ Runt ...

  2. Memcached常用命令及使用说明——netcat

    数据存储(假设key为test,value为12345) printf "set test 0 0 5\r\n12345\r\n" | nc 127.0.0.1 12000 STO ...

  3. 转:清理系统垃圾的BAT代码

    @echo off title @echo off color 2 echo. echo. echo 请不要关闭此窗口! echo. echo 开始清理垃圾文件,请稍等...... echo. ech ...

  4. SpringBoot使用JSP渲染页面

    1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  5. Webwork【01】Webwork与 Struct 的前世今生

    Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年发布,该框架一经推出,就得到了世界上Java Web开发者的拥护,经过长达6年时间的锤炼,Struts ...

  6. cocos2d-js 在线更新代码脚本 动态更新脚本程序 热更新 绕过平台审核 不需重新上架

    2014年8月15日补充 cocos2d-js 3.0 rc0 的AssetsManager有缺陷,有一些注意点:(可以阅读源代码发现) 1.旧manifest中有,但新manifest中没有的文件( ...

  7. .Net(c#)加密解密工具类:

    /// <summary> /// .Net加密解密帮助类 /// </summary> public class NetCryptoHelper { #region des实 ...

  8. 9、java5线程池之定时任务线程池newScheduledThreadPool与newSingleThreadScheduledExecutor

    JDK文档描述 newSingleThreadScheduledExecutor() 创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行.(注意,如果因为在关闭前的执行期间出现失败而终 ...

  9. 转 安装Nginx 1.2.0+PHP 5.4.3(FastCGI)+MySQL 5.5.24

    硬件环境:Dell PowerEdge 1950,4核Intel(R) Xeon(R) CPU E5410  @ 2.33GHz4G内存 系统环境:CentOS release 5.2,内核版本: 2 ...

  10. 基于源码编译安装openssh

     最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工 ...