文章目录

  • 前言
  • 一、基础理论
    • 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。 现在,右键单击新文件夹,然后从上下文菜单中选择TortoiseSVNCreate Repository here…。然后在文件夹内创建存储库,供您使用。 我们还将通过单击Create folder structure钮来创建默认的内部文件夹结构。

注意
本地存储库功能对于测试和评估非常有用,但是除非您是在一台PC上的唯一开发人员,否则应始终使用适当的Subversion服务器。 一家小型公司很想避免设置服务器的工作,而只访问网络共享上的存储库。 永远不要那样做。 您将丢失数据。

2. 导入工程

  现在我们有了一个存储库,但是目前它完全是空的。 假设我要添加C:\ Projects \ Widget1中的一组文件。 导航到资源管理器中的Widget1文件夹,然后右键单击它。 现在选择TortoiseSVNImport…,弹出一个对话框:

  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的开发文件夹中。 创建该文件夹,然后右键单击它并选择TortoiseSVNCheckout…。然后输入要检出的URL,在本例中为file:/// c:/ svn_repos / trunk / Widget1,然后单击OK。 然后,使用来自存储库中的文件填充我们的开发文件夹。

注意
在默认设置中,检出菜单项不在TortoiseSVN子菜单中,而是显示在资源管理器顶部菜单中。 子菜单中未包含的TortoiseSVN命令带有SVN前缀:SVN Checkout …

  您会注意到此文件夹的外观与我们的原始文件夹不同。 每个文件的左下角都有一个绿色的复选标记。 这些是TortoiseSVN的状态图标,仅在工作副本中显示。 绿色状态表示文件与资源库中的版本相同。

4. 做出修改

  该上班了。 在Widget1-Dev文件夹中,我们开始编辑文件-假设我们对Widget1.c和ReadMe.txt进行了更改。 请注意,这些文件上的图标覆盖现已更改为红色,表示已在本地进行了更改。

  但是有什么变化? 右键单击已更改的文件之一,然后选择TortoiseSVNDiff。 TortoiseSVN的文件比较工具将启动,确切显示更改的行。


  好的,我们对更改感到满意,让我们更新存储库。 此操作称为更改提交。 右键单击Widget1-Dev文件夹,然后选择TortoiseSVNCommit。 提交对话框列出了更改的文件,每个文件都有一个复选框。 您可能只想选择这些文件的一个子集,但是在这种情况下,我们将对两个文件进行更改。 输入一条消息以描述更改的全部内容,然后单击“OK”。 进度对话框显示正在上载到存储库的文件,您已完成。

5. 添加更多文件

  随着项目的发展,您将需要添加新文件-假设您在Extras.c中添加了一些新功能,并在现有Makefile中添加了引用。 右键单击该文件夹,然后单击TortoiseSVNAdd。 现在,“添加”对话框将显示所有未版本控制的文件,您可以选择要添加的文件。 添加文件的另一种方法是右键单击文件本身,然后选择TortoiseSVNAdd

  现在,当您提交文件夹时,新文件显示为已添加,而现有文件显示为已修改。 请注意,您可以双击修改后的文件以检查所做的更改。

6. 查看工程历史

  “日志”对话框是TortoiseSVN最有用的功能之一。 这将显示您对文件或文件夹进行的所有提交的列表,并显示您输入的那些详细的提交消息(您确实输入了建议的提交消息?如果没有,那么现在您知道为什么这很重要)。

  好的,所以我在这里作了一些欺骗,并使用了TortoiseSVN存储库中的屏幕截图。

  顶部窗格显示了已提交修订的列表以及提交消息的开头。 如果选择这些修订版之一,则中间窗格将显示该修订版的完整日志消息,而底部窗格将显示已更改文件和文件夹的列表。

  每个窗格都有一个上下文菜单,可为您提供更多使用信息的方式。 在底部窗格中,您可以双击一个文件以确切查看该修订版中进行了哪些更改。

7. 撤销更改

  所有版本控制系统的一个功能是,它们允许您撤消先前所做的更改。 如您所料,TortoiseSVN使此操作易于访问。

  如果要摆脱尚未提交的更改并将文件重置为开始编辑之前的状态,TortoiseSVNRevert。 这将放弃您的更改(以防万一,请回收到回收站),并还原为开始时使用的提交版本。 如果您只想摆脱某些更改,则可以使用TortoiseMerge查看差异并有选择地还原更改的行。

  如果要撤消特定修订版的影响,请从“日志”对话框开始并查找有问题的修订版。 选择Context MenuRevert changes from this revision,这些更改将被撤消。

总结

几个常用操作:

  1. 建立仓库TortoiseSVNCreate Repository here…
  2. 导入工程TortoiseSVNImport…
  3. 检出工作区TortoiseSVNCheckout…
  4. 查看不同TortoiseSVNDiff
  5. 提交修改TortoiseSVNCommit
  6. 添加文件TortoiseSVNAdd
  7. 撤销更改TortoiseSVNRevert

TortoiseSVN 帮助教程(一)—— 建立版本库相关推荐

  1. git回退历史版本无法上传_Git系列教程(二):版本库中添加文件、版本回退

    Git系列教程(一):简介.安装.配置我们学习了分布式和版本控制系统的概念.Git具有的8个功能以及如何在Windows上安装Git.进行相关配置并创建版本库. Git版本库中添加文件 Git 的工作 ...

  2. 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  3. 【文献管理】JabRef使用教程、建立文献库、分组、添加文献、jabref推送到tex中

    1.新建文献库 新建一个库,就是新建一个bib文件,保存本次所有的文献. 在哪建库? 1)基本上是每次写论文的时候,在tex文件的同目录下,新建一个bib,保存本次论文使用的参考文献 2)在学习某个领 ...

  4. git基础教程(20) 从版本库删除文件git rm

    文章目录 1.git rm 删除工作区文件并添加到暂存区 2.删除暂存区里的文件 3.小结 rm命令用于将文件/文件夹从工作区删除,并且将该操作添加到索引区,相当于: $ rm xxx $ git a ...

  5. VisualSVN Server Manager创建版本库以及TortoiseSVN的使用

    下载 TortoiseSVN:https://tortoisesvn.net/downloads.html TortoiseSVN中文包:https://tortoisesvn.net/downloa ...

  6. VS2008+AnkhSVN搭建源代码管理版本库

    由于常使用VS2008维护项目代码,但是每次更新代码均需要进行备份,随着长时间(3年以上)维护项目代码,代码副本日益增多,导致项目维护繁琐以及项目的可比较性太难,找回想要的版本比较困难.因此,寻找结合 ...

  7. linux subversion rpm,[linux笔记]在CentOS7.3中安装配置Apache2.4+Subversion1.9.*版本库

    安装Apache2.4[httpd] yum install httpd 启动httpd并设置开机启动 systemctl enable httpd.service systemctl start h ...

  8. linuxSVN版本库及同步文件到WEB目录

    一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get install subversion 2.建立版本库, ...

  9. svnsync实现版本库的同步备份

    svnsync实现版本库的同步备份  实验环境: A,172.17.201.243(主) B,172.17.201.88(备) 项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的 ...

  10. 创建一个 Git 版本库

    创建一个 Git 版本库 $ cd project/$ git init # 创建 .git 目录 ( 1.4.4.4 版本之后用这个命令 )$ git add . # 将那些未被跟踪的文件加入版本库 ...

最新文章

  1. html 省份,城市 选择器附效果图
  2. IEC104协议规约解析
  3. 人活着系列之芳姐和芳姐的猪(Floyd)
  4. w3 protocol
  5. linux性能监控命令
  6. MATLAB solve函数计算得到lambertw函数,用vpa转换即可
  7. SpringBoot使用AOP,PointCut表达式详解以及使用
  8. 创建窗口,输入一个无符号整数,输出其对应的二进制数
  9. Faiss从入门到实战精通
  10. java视频格式转_java 实现 视频格式转换(转)
  11. 《基于张量网络的机器学习入门》学习笔记9(HHL算法)
  12. 带状线超宽带电桥设计
  13. 【2021年度总结】:23岁的流水账
  14. 5月6阴阳师服务器维护,《阴阳师》手游5月6日维护更新公告
  15. 小米系硬件查询保修日期
  16. [C/C++]#ifndef,#define用法
  17. Spring Security详细讲解(JWT+SpringSecurity登入案例)
  18. python-pyecharts 数据分析原来可以这么炫酷
  19. LLVM指令选择中的模式定义方法
  20. Windows10 下安装 dig 命令的步骤(一)

热门文章

  1. Java笔记 - 黑马程序员_07(多线程,线程同步,线程池,网络编程入门,UDP通信原理,TCP通信原理,commons-io工具类)
  2. 如何正确薅华为云的羊毛
  3. 地图染色(四色定理)问题
  4. AHU-743 多重部分和问题 【多重背包变种】
  5. 2020幻影围棋 第三天围棋规则模块(一)
  6. [内附完整源码和文档] 基于PHP的网上购物系统设计与实现
  7. 杰理之低延时无线麦功能支持以下两种组合配置【篇】
  8. linux系列:/proc/pid
  9. word排版之长英文单词自动换行
  10. 深入解读:从DDIM到Improved Denoising Diffusion Probabilistic Models