Windows 平台下Myeclipse 10 中SVN 插件使用教程(TortoiseSVN)
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)的更多相关文章
- Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)
Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...
- Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法
Windows平台下Qt中glut库的使用 用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是 ...
- MyEclipse 10安装SVN插件subclipse
1. 下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?expandFolder=2240& ...
- Windows平台下Python2.7中pip的安装方法
本文允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 文件下载 需要下载并运行ez_se ...
- [转]Windows平台下Makefile学习笔记
Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译 ...
- 【VS开发】Windows平台下Makefile学习笔记
作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开 ...
- Windows平台下Oracle实例启动过程中日志输出
Windows平台下Oracle实例启动过程中日志输出记录. 路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log 输出内 ...
- 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 ...
- Windows平台下Oracle监听服务启动过程中日志输出
Windows平台下Oracle监听服务启动过程中日志输出记录. 日志目录:D:\app\Administrator\diag\tnslsnr\WIN-RU03CB21QGA\listener\tra ...
随机推荐
- debian下配置网络 安装无线网卡驱动 Broadcom BCMXX系列
解决方案来自于debian官网 https://wiki.debian.org/wl 1.加入源 deb http://http.debian.net/debian/ wheezy main c ...
- jqPlot图表插件学习之数据节点高亮和光标提示
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- 十大经典排序算法-JS篇
http://web.jobbole.com/87968/ 虽然是JS篇,但其他编程语言(例如java)实现起来是差不多的.
- CentOS7 修改主机名
命令: hostnamectl set-hostname [yourhostname] 不过这种方法,大写会自动变成小写. 还有一种方法,直接修改 /etc/hostname文件,这个可以保证大写不变 ...
- 【CAS单点登录视频教程】 第05集 -- CAS服务器安装
第一步: 下载cas 服务器 cas-server-3.5.2-release.zip 目录 ----------------------------------------- [CAS单点登录视频教 ...
- [转载][Groovy] Groovy与Java的区别(一)
原文地址:[Groovy] Groovy与Java的区别(一)作者:langyizhao 因为Groovy可以用Java的所有功能(虽然JVM不同的时候可能会比较麻烦,比如在Android上),所以G ...
- MATLAB R2018a 安装教程
1.下载相应的 MATLAB R2018a 版本如下:[matlab2018的百度云盘:链接:https://pan.baidu.com/s/1OV242y6EV6auvG3DvvqD8A 密码: ...
- android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器
一.基础知识点学习 1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...
- javascript 基础知识学习1
JavaScript 是脚本语言.浏览器会在读取代码时,逐行地执行脚本代码.而对于传统编程来说,会在执行前对所有代码进行编译.基础知识:1).JavaScript 对大小写敏感.JavaScript ...
- 理解iOS与函数式编程
有时候,一个关键字就是一扇通往新世界的大门.两年前,身边开始有人讨论函数式编程,拿关键字Functional Programming一搜,全是新鲜的概念和知识,顺藤摸瓜,看到的技术文章和框架也越来越多 ...