TortoiseSVN 帮助教程(一)—— 建立版本库
文章目录
- 前言
- 一、基础理论
- 1. 库(The Repository)
- 2. 工作副本(Working Copy)
- 二、小试牛刀
- 1. 建立仓库
- 2. 导入工程
- 3. 检出工作备份(checkout)
- 4. 做出修改
- 5. 添加更多文件
- 6. 查看工程历史
- 7. 撤销更改
- 总结
前言
文章内容来源于翻译TortoiseSVN软件帮助文档。
一、基础理论
在开始使用某些实际文件之前,对Subversion的工作原理和所用术语进行概述非常重要。
1. 库(The Repository)
Subversion使用一个中央数据库,该数据库包含所有版本控制文件及其完整历史记录。 该数据库称为存储库。 该存储库通常位于运行Subversion服务器程序的文件服务器上,该文件服务器根据请求向Subversion客户端(例如TortoiseSVN)提供内容。 如果仅备份一件事,请备份存储库,因为它是所有数据的最终主副本。
2. 工作副本(Working Copy)
这是您进行实际工作的地方。 每个开发人员在其本地PC上都有自己的工作副本,有时也称为沙盒。 您可以从资源库中提取最新版本,在不影响其他任何人的情况下在本地进行处理,然后对所做的更改感到满意时,将其提交回资源库中。
Subversion工作副本不包含项目的历史记录,但是在您进行更改之前,它确实保留了存储库中文件的副本。 这意味着可以很容易地准确检查您所做的更改。
您还需要知道在哪里可以找到TortoiseSVN,因为从“开始”菜单中看不到太多内容。 这是因为TortoiseSVN是Shell扩展,因此首先启动Windows资源管理器。 右键单击资源管理器中的文件夹,您将在上下文菜单中看到一些新条目,如下所示:
二、小试牛刀
本节向您展示如何在小型测试存储库中试用一些最常用的功能。 当然,它并不能解释所有内容-毕竟,这只是《快速入门指南》。 一旦启动并运行,您应该花时间阅读本用户指南的其余部分,从而更详细地了解所有内容。 它还说明了有关设置适当的Subversion服务器的更多信息。
1. 建立仓库
对于真实的项目,您将在安全的地方设置一个存储库,并使用Subversion服务器对其进行控制。 在本教程中,我们将使用Subversion的本地存储库功能,该功能允许直接访问在硬盘驱动器上创建的存储库,而完全不需要服务器。
首先在您的PC上创建一个新的空目录。 它可以随处可见,但是在本教程中,我们将其称为C:\ svn_repos。 现在,右键单击新文件夹,然后从上下文菜单中选择TortoiseSVN→Create Repository here…。然后在文件夹内创建存储库,供您使用。 我们还将通过单击Create folder structure钮来创建默认的内部文件夹结构。
注意
本地存储库功能对于测试和评估非常有用,但是除非您是在一台PC上的唯一开发人员,否则应始终使用适当的Subversion服务器。 一家小型公司很想避免设置服务器的工作,而只访问网络共享上的存储库。 永远不要那样做。 您将丢失数据。
2. 导入工程
现在我们有了一个存储库,但是目前它完全是空的。 假设我要添加C:\ Projects \ Widget1中的一组文件。 导航到资源管理器中的Widget1文件夹,然后右键单击它。 现在选择TortoiseSVN→Import…,弹出一个对话框:
URL指的是Subversion存储库,它使我们可以在Internet上的任何地方指定存储库。 在这种情况下,我们需要指向我们自己的本地存储库,该存储库的URL为file:/// c:/ svn_repos / trunk,并在其中添加我们自己的项目名称Widget1。 请注意,文件后有3个斜杠:并且在整个文件中使用正斜杠。
此对话框的另一个重要功能是“Import Message”框,该框允许您输入一条描述您正在执行的消息。 当您浏览项目历史记录时,这些提交消息是进行了哪些更改以及更改原因的宝贵指南。 在这种情况下,我们可以说一些简单的话,例如“导入Widget1项目”。 单击OK,该文件夹即被添加到您的存储库中。
3. 检出工作备份(checkout)
现在我们的存储库中有一个项目,我们需要创建一个工作副本以用于日常工作。 请注意,导入文件夹的操作不会自动将该文件夹转换为工作副本。 用于创建新的工作副本的Subversion术语是Checkout。 我们将把存储库的Widget1文件夹检出到PC上名为C:\ Projects \ Widget1-Dev的开发文件夹中。 创建该文件夹,然后右键单击它并选择TortoiseSVN→Checkout…。然后输入要检出的URL,在本例中为file:/// c:/ svn_repos / trunk / Widget1,然后单击OK。 然后,使用来自存储库中的文件填充我们的开发文件夹。
注意
在默认设置中,检出菜单项不在TortoiseSVN子菜单中,而是显示在资源管理器顶部菜单中。 子菜单中未包含的TortoiseSVN命令带有SVN前缀:SVN Checkout …
您会注意到此文件夹的外观与我们的原始文件夹不同。 每个文件的左下角都有一个绿色的复选标记。 这些是TortoiseSVN的状态图标,仅在工作副本中显示。 绿色状态表示文件与资源库中的版本相同。
4. 做出修改
该上班了。 在Widget1-Dev文件夹中,我们开始编辑文件-假设我们对Widget1.c和ReadMe.txt进行了更改。 请注意,这些文件上的图标覆盖现已更改为红色,表示已在本地进行了更改。
但是有什么变化? 右键单击已更改的文件之一,然后选择TortoiseSVN→Diff。 TortoiseSVN的文件比较工具将启动,确切显示更改的行。
好的,我们对更改感到满意,让我们更新存储库。 此操作称为更改提交。 右键单击Widget1-Dev文件夹,然后选择TortoiseSVN→Commit。 提交对话框列出了更改的文件,每个文件都有一个复选框。 您可能只想选择这些文件的一个子集,但是在这种情况下,我们将对两个文件进行更改。 输入一条消息以描述更改的全部内容,然后单击“OK”。 进度对话框显示正在上载到存储库的文件,您已完成。
5. 添加更多文件
随着项目的发展,您将需要添加新文件-假设您在Extras.c中添加了一些新功能,并在现有Makefile中添加了引用。 右键单击该文件夹,然后单击TortoiseSVN→Add。 现在,“添加”对话框将显示所有未版本控制的文件,您可以选择要添加的文件。 添加文件的另一种方法是右键单击文件本身,然后选择TortoiseSVN→Add。
现在,当您提交文件夹时,新文件显示为已添加,而现有文件显示为已修改。 请注意,您可以双击修改后的文件以检查所做的更改。
6. 查看工程历史
“日志”对话框是TortoiseSVN最有用的功能之一。 这将显示您对文件或文件夹进行的所有提交的列表,并显示您输入的那些详细的提交消息(您确实输入了建议的提交消息?如果没有,那么现在您知道为什么这很重要)。
好的,所以我在这里作了一些欺骗,并使用了TortoiseSVN存储库中的屏幕截图。
顶部窗格显示了已提交修订的列表以及提交消息的开头。 如果选择这些修订版之一,则中间窗格将显示该修订版的完整日志消息,而底部窗格将显示已更改文件和文件夹的列表。
每个窗格都有一个上下文菜单,可为您提供更多使用信息的方式。 在底部窗格中,您可以双击一个文件以确切查看该修订版中进行了哪些更改。
7. 撤销更改
所有版本控制系统的一个功能是,它们允许您撤消先前所做的更改。 如您所料,TortoiseSVN使此操作易于访问。
如果要摆脱尚未提交的更改并将文件重置为开始编辑之前的状态,TortoiseSVN→Revert。 这将放弃您的更改(以防万一,请回收到回收站),并还原为开始时使用的提交版本。 如果您只想摆脱某些更改,则可以使用TortoiseMerge查看差异并有选择地还原更改的行。
如果要撤消特定修订版的影响,请从“日志”对话框开始并查找有问题的修订版。 选择Context Menu→Revert changes from this revision,这些更改将被撤消。
总结
几个常用操作:
- 建立仓库TortoiseSVN→Create Repository here…
- 导入工程TortoiseSVN→Import…
- 检出工作区TortoiseSVN→Checkout…
- 查看不同TortoiseSVN→Diff
- 提交修改TortoiseSVN→Commit
- 添加文件TortoiseSVN→Add
- 撤销更改TortoiseSVN→Revert
TortoiseSVN 帮助教程(一)—— 建立版本库相关推荐
- git回退历史版本无法上传_Git系列教程(二):版本库中添加文件、版本回退
Git系列教程(一):简介.安装.配置我们学习了分布式和版本控制系统的概念.Git具有的8个功能以及如何在Windows上安装Git.进行相关配置并创建版本库. Git版本库中添加文件 Git 的工作 ...
- 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 【文献管理】JabRef使用教程、建立文献库、分组、添加文献、jabref推送到tex中
1.新建文献库 新建一个库,就是新建一个bib文件,保存本次所有的文献. 在哪建库? 1)基本上是每次写论文的时候,在tex文件的同目录下,新建一个bib,保存本次论文使用的参考文献 2)在学习某个领 ...
- git基础教程(20) 从版本库删除文件git rm
文章目录 1.git rm 删除工作区文件并添加到暂存区 2.删除暂存区里的文件 3.小结 rm命令用于将文件/文件夹从工作区删除,并且将该操作添加到索引区,相当于: $ rm xxx $ git a ...
- VisualSVN Server Manager创建版本库以及TortoiseSVN的使用
下载 TortoiseSVN:https://tortoisesvn.net/downloads.html TortoiseSVN中文包:https://tortoisesvn.net/downloa ...
- VS2008+AnkhSVN搭建源代码管理版本库
由于常使用VS2008维护项目代码,但是每次更新代码均需要进行备份,随着长时间(3年以上)维护项目代码,代码副本日益增多,导致项目维护繁琐以及项目的可比较性太难,找回想要的版本比较困难.因此,寻找结合 ...
- linux subversion rpm,[linux笔记]在CentOS7.3中安装配置Apache2.4+Subversion1.9.*版本库
安装Apache2.4[httpd] yum install httpd 启动httpd并设置开机启动 systemctl enable httpd.service systemctl start h ...
- linuxSVN版本库及同步文件到WEB目录
一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get install subversion 2.建立版本库, ...
- svnsync实现版本库的同步备份
svnsync实现版本库的同步备份 实验环境: A,172.17.201.243(主) B,172.17.201.88(备) 项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的 ...
- 创建一个 Git 版本库
创建一个 Git 版本库 $ cd project/$ git init # 创建 .git 目录 ( 1.4.4.4 版本之后用这个命令 )$ git add . # 将那些未被跟踪的文件加入版本库 ...
最新文章
- html 省份,城市 选择器附效果图
- IEC104协议规约解析
- 人活着系列之芳姐和芳姐的猪(Floyd)
- w3 protocol
- linux性能监控命令
- MATLAB solve函数计算得到lambertw函数,用vpa转换即可
- SpringBoot使用AOP,PointCut表达式详解以及使用
- 创建窗口,输入一个无符号整数,输出其对应的二进制数
- Faiss从入门到实战精通
- java视频格式转_java 实现 视频格式转换(转)
- 《基于张量网络的机器学习入门》学习笔记9(HHL算法)
- 带状线超宽带电桥设计
- 【2021年度总结】:23岁的流水账
- 5月6阴阳师服务器维护,《阴阳师》手游5月6日维护更新公告
- 小米系硬件查询保修日期
- [C/C++]#ifndef,#define用法
- Spring Security详细讲解(JWT+SpringSecurity登入案例)
- python-pyecharts 数据分析原来可以这么炫酷
- LLVM指令选择中的模式定义方法
- Windows10 下安装 dig 命令的步骤(一)
热门文章
- Java笔记 - 黑马程序员_07(多线程,线程同步,线程池,网络编程入门,UDP通信原理,TCP通信原理,commons-io工具类)
- 如何正确薅华为云的羊毛
- 地图染色(四色定理)问题
- AHU-743 多重部分和问题 【多重背包变种】
- 2020幻影围棋 第三天围棋规则模块(一)
- [内附完整源码和文档] 基于PHP的网上购物系统设计与实现
- 杰理之低延时无线麦功能支持以下两种组合配置【篇】
- linux系列:/proc/pid
- word排版之长英文单词自动换行
- 深入解读:从DDIM到Improved Denoising Diffusion Probabilistic Models