这份文档是为了描述 Subversion 1.1 而编写的。如果您使用的是较新的 Subversion 版本,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅适合您 Subversion 版本的书籍版本。

初始检出

大多数情况下,您将通过对项目进行 检出 来开始使用 Subversion 仓库。检出仓库会在您的本地机器上创建一份副本。此副本包含您在命令行中指定的 Subversion 仓库的HEAD(最新版本)。

$ svn checkout http://svn.collab.net/repos/svn/trunk
A  trunk/subversion.dsw
A  trunk/svn_check.dsp
A  trunk/COMMITTERS
A  trunk/configure.in
A  trunk/IDEAS
…
Checked out revision 2499.

虽然上面的示例检出了 trunk 目录,但您也可以通过在检出 URL 中指定子目录来轻松检出仓库的任何深度子目录。

$ svn checkout http://svn.collab.net/repos/svn/trunk/doc/book/tools
A  tools/readme-dblite.html
A  tools/fo-stylesheet.xsl
A  tools/svnbook.el
A  tools/dtd
A  tools/dtd/dblite.dtd
…
Checked out revision 2499.

由于 Subversion 使用“复制-修改-合并”模型而不是“锁定-修改-解锁”(参见 第 2 章,基本概念),您已经可以开始对工作副本中的文件和目录进行更改。您的工作副本就像您系统上的任何其他文件和目录集合一样。您可以编辑和更改它们,将它们移动,甚至可以删除整个工作副本并忘记它。

注意

虽然您的工作副本是“就像您系统上的任何其他文件和目录集合一样”,但您需要让 Subversion 知道您是否要重新排列工作副本中的任何内容。如果您想复制或移动工作副本中的项目,您应该使用 svn copysvn move 而不是您的操作系统提供的复制和移动命令。我们将在本章后面详细介绍它们。

除非您准备提交新文件或目录,或者对现有文件或目录进行更改,否则无需进一步通知 Subversion 服务器您已经执行了任何操作。

虽然您可以使用仓库的 URL 作为唯一参数来检出工作副本,但您也可以在仓库 URL 后指定一个目录。这会将您的工作副本放置在您命名的新目录中。例如

$ svn checkout http://svn.collab.net/repos/svn/trunk subv
A  subv/subversion.dsw
A  subv/svn_check.dsp
A  subv/COMMITTERS
A  subv/configure.in
A  subv/IDEAS
…
Checked out revision 2499.

这会将您的工作副本放置在名为subv的目录中,而不是名为trunk的目录中,正如我们之前所做的那样。

TortoiseSVN 官方中文版 1.14.7 发布