手册

试驾

本节将向您展示如何在小型测试存储库中尝试一些最常用的功能。当然,它不会解释所有内容 - 这毕竟只是快速入门指南。一旦您开始运行,您应该花时间阅读本用户指南的其余部分,它将更详细地介绍各种内容。它还解释了有关设置适当的 Subversion 服务器的更多信息。

创建存储库

对于实际项目,您将在安全的地方设置一个存储库,并使用 Subversion 服务器来控制它。在本教程中,我们将使用 Subversion 的本地存储库功能,该功能允许直接访问硬盘驱动器上创建的存储库,而无需任何服务器。

首先在您的 PC 上创建一个新的空目录。它可以放在任何地方,但在本教程中,我们将将其称为 C:\svn_repos。现在右键单击新文件夹,然后从上下文菜单中选择 TortoiseSVN在此创建存储库...。然后在文件夹内创建存储库,准备供您使用。我们还将通过单击 创建文件夹结构 按钮来创建默认的内部文件夹结构。

重要

本地存储库功能对于测试和评估非常有用,但除非您是单人在一台 PC 上工作,否则您应该始终使用适当的 Subversion 服务器。在一个小型公司中,避免设置服务器的工作,直接访问网络共享上的存储库,这很诱人。永远不要这样做。您将丢失数据。阅读 名为“访问网络共享上的存储库”的部分,了解为什么这是一个坏主意,以及如何设置服务器。

导入项目

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

图 1.2。导入对话框

The Import dialog


Subversion 存储库通过 URL 引用,这使我们能够指定互联网上的任何地方的存储库。在这种情况下,我们需要指向我们自己的本地存储库,其 URL 为 file:///c:/svn_repos/trunk,并在其中添加我们自己的项目名称 Widget1。请注意,file: 后面有 3 个斜杠,并且在整个过程中都使用正斜杠。

此对话框的另一个重要功能是 导入消息 框,它允许您输入描述您正在执行的操作的消息。当您查看项目历史记录时,这些提交消息将成为对所做更改及其原因的宝贵指南。在这种情况下,我们可以说一些简单的话,比如 导入 Widget1 项目。单击 确定,文件夹将添加到您的存储库中。

签出工作副本

现在我们已经在仓库中创建了一个项目,我们需要创建一个工作副本用于日常工作。请注意,导入文件夹并不自动将该文件夹变成工作副本。Subversion 中创建新工作副本的术语是 检出。我们将检出仓库中的 Widget1 文件夹到 PC 上名为 C:\Projects\Widget1-Dev 的开发文件夹。创建该文件夹,然后右键单击它并选择 TortoiseSVN检出...。然后输入要检出的 URL,在本例中为 file:///c:/svn_repos/trunk/Widget1,然后单击 确定。我们的开发文件夹将被仓库中的文件填充。

重要

在默认设置中,检出菜单项不在 TortoiseSVN 子菜单中,而是显示在顶部的资源管理器菜单中。不在子菜单中的 TortoiseSVN 命令前面会加上 SVNSVN 检出...

您会注意到,此文件夹的外观与我们的原始文件夹不同。每个文件在左下角都有一个绿色的勾号。这些是 TortoiseSVN 的状态图标,仅在工作副本中存在。绿色状态表示文件与仓库中的版本没有变化。

进行更改

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

但是更改是什么?右键单击其中一个已更改的文件,然后选择 TortoiseSVN比较。TortoiseSVN 的文件比较工具启动,显示了哪些行已更改。

图 1.3. 文件差异查看器

File Difference Viewer


好的,我们对更改感到满意,让我们更新仓库。此操作称为对更改进行 提交。右键单击 Widget1-Dev 文件夹,然后选择 TortoiseSVN提交。提交对话框列出了已更改的文件,每个文件都有一个复选框。您可能只想选择其中一部分文件,但在本例中,我们将提交对这两个文件的更改。输入一条消息来描述更改的内容,然后单击 确定。进度对话框显示文件正在上传到仓库,您就完成了。

添加更多文件

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

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

查看项目历史记录

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

图 1.4. 日志对话框

The Log Dialog


好吧,我在这里稍微作弊了一下,使用了 TortoiseSVN 存储库的屏幕截图。

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

每个窗格都有一个上下文菜单,它提供了更多使用信息的方法。在底部窗格中,您可以 双击 文件以查看该修订版本中所做的确切更改。阅读 名为“修订版本日志对话框”的部分 以获取完整的故事。

撤消更改

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

如果您想删除尚未提交的更改并将文件重置为编辑之前的样子,TortoiseSVN还原 是您的朋友。这将丢弃您的更改(到回收站,以防万一)并恢复到您开始使用的已提交版本。如果您想删除部分更改,可以使用 TortoiseMerge 查看差异并有选择地还原更改的行。

如果您想撤销特定修订的影响,请从日志对话框开始,找到有问题的修订。选择 上下文菜单撤销此修订的更改,这些更改将被撤销。

TortoiseSVN 主页