Tortoises SVN 教程
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.5.3.13783-win32-svn-1.5.2.msi”,如图所示进行安装。
出现提示,重新启动计算机安装完毕。
注:如果有需要使用中文版可以加装中文语言包,以下是以中文界面作为操作说明。
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 网页浏览
你可以使用该地址 https://ft-llb/svn/yfb/在网页上浏览项目,同样需要和前面一样的用户名、密码。
7.2 SVN还原
取消上一次的操作(只针对客户端,服务端不做改动)
7.3 版本库浏览
7.4 版本示意图
7.5 显示日志
查看版本日志及不同版本间相互比较
7.6 检查修改
同服务器上的项目版本进行比较,并可做相应的修改。
8. 小技巧
工作副本下.svn 目录被删除了怎么办?
工作拷贝中的任何一个目录包括一个名为.svn 管理区域,通常列表操作不显示这个目录,但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个管理区域的任何东西,Subversion 使用它来管理工作拷贝。
如果你不小心删除了子目录.svn,最简单的解决办法是删除包含的目录(普通的文件系统删除,而不是svn delete),然后在父目录运行svn svn 更新,Subversion 客户端会重新下载你删除的目录,并包含新的.svn。
附:
这里只是简单介绍了些svn的搭建和使用,具体的使用请参考:
svn 手册:http://www.subversion.org.cn/svnbook/
TortoiseSVN 文档:http://www.subversion.org.cn/tsvndoc/
原文地址:http://www.open-open.com/lib//view/open1349766204697.html
Tortoises SVN 教程的更多相关文章
- XCode中使用SVN 教程
修改subversion.config方法: 可以直接在终端上输入:vi ~/.subversion/config来编辑. 也可以通过Finder搜索.subversion,点击下边的+号,进入高级搜 ...
- SVN教程 -- 基于自己学习记录
SVN教程 -- 基于自己学习记录 1. 概述 a. 什么是SVN? Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统.相较于 git ,svn 是集中式版本控 ...
- MyEclipse8.6安装SVN 教程 与遇到的问题
按网上的多种方式都不好用 最后这种好用 了! 写此文做记录. MyEclipse版本:8.6 SVN版本:1.6.9 MyEclipse版本要对应SVN版本.否则会出错. 教程: 1.下载最新 ...
- 史上最全SVN 教程
以下博文引用<https://blog.csdn.net/u013067756/article/details/73302758>,再此仅供学习和参考. Svn是什么? SVN(全称Sub ...
- SVN教程(包括小乌龟) 全图解
转载自http://www.cnblogs.com/armyfai/p/3985660.html SVN使用教程总结 SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很 ...
- Eclipse安装SVN教程
第1种安装方法 下载SVN安装包.地址:subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240. 根据Eclipse版本进行下载 ...
- svn教程
安装过程: 1.下载软件后,双击程序进行安装,点击“Next”: 2.在许可证协议页面,选择“I Accept the terms in the License Agreement”,点击“Next” ...
- TortoiseSVN下载,安装,配置,常用操作 svn教程
一. 首先在百度搜索并下载 TortoiseSVN 推荐从官网下载,软件分为32位和64位版本,下载时请根据自己的系统位数进行下载:
- (转)SVN教程总结
文章原地址:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本, ...
随机推荐
- Python笔记_第二篇_面向过程_第二部分_1.函数
函数:这个词属于一个数学概念,在编程语言借鉴了这个概念,表现形式是一段程序代码的组合,也叫“程序集”.有过编程基础的人很容易理解这个概念,当我们编写程序越来越多的时候,程序设计大师们会把散乱的程序进行 ...
- 把cifar数据转换为图片
参考 https://gist.github.com/fzliu/64821d31816bce595a4bbd98588b37f5 """ make_cifar10.py ...
- android studio 导入eclipse项目后的报错解决
1.如何导入: 2.导入的时候会让你创建gradle,一直下一步,不用修改 3.编译, a.会报编码格式错误,如果有中文会报这个错,修改成utf-8 b.找不到类,解决办法 右键工程 引入外部的包,重 ...
- RDD(六)——分区器
RDD的分区器 Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数.RDD中每条数据经过Shuffle过 ...
- springmvc register过程
福建SEO:首先在AbstractHandlerMethodMapping中,在afterPropertiesSet这个钩子函数中,先初始化handlerMethods. 在detectHandler ...
- python学习笔记(30)——ddt
1.ddt模块包含类的装饰器ddt和两个方法装饰器data ddt.ddt:装饰类,也就是继承TestCase的类. ddt.data:装饰测试方法,参数是一系列的值,用来传递参数 ddt.file_ ...
- Angular开发者指南(三)数据绑定
数据绑定 AngularJS应用程序中的数据绑定是模型和视图组件之间的数据的自动同步. AngularJS实现数据绑定的方式可以将模型视为应用程序中的单一来源. 视图是模型在任何时候的投影. 当模型更 ...
- Linux_拷贝,剪切,删除和创建文件
cp 你要拷贝的文件 + 目录/带路径的文件名(在拷贝的同时,让这个文件重新命名) cp /tep/dir01 ~ 代表将dir01拷贝到当前用户的家目录中 cp /tep/dir02 ~/di ...
- F. Maximum Weight Subset(贪心or树形dp解法)
题:https://codeforces.com/contest/1249/problem/F 题意:给一颗树,边权为1,节点有点权,问取到一个点集,俩俩之间路径超过k,是点权和最大 思路:贪心地取点 ...
- Ubuntu 12.04 搭建TFTP服务器
吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...