有时您可能需要工作树的干净副本,而无需 .svn
目录,例如创建源代码的压缩 tar 包,或导出到 Web 服务器。您可以不必先复制然后再手动删除 .svn
目录,TortoiseSVN 提供了 → 命令。从 URL 导出和从工作副本导出略有不同。
如果您在未版本控制的文件夹上执行此命令,TortoiseSVN 将假定所选文件夹是目标,并打开一个对话框供您输入要从中导出的 URL 和版本。此对话框具有仅导出顶层文件夹、忽略外部引用以及覆盖设置了 svn:eol-style
属性的文件的行尾样式的选项。
当然,您也可以直接从仓库导出。使用仓库浏览器导航到仓库中的相关子树,然后使用 从 URL 导出 对话框。
→ 。您将看到上面描述的如果您在工作副本上执行此命令,系统会要求您提供一个位置来保存 干净的 工作副本,其中不包含 .svn
文件夹。默认情况下,仅导出已版本控制的文件,但是您可以使用 同时导出未版本控制的文件 复选框来包含 WC 中存在但仓库中不存在的任何其他未版本控制的文件。如果需要,可以忽略使用 svn:externals
的外部引用。
从工作副本导出的另一种方法是 右键拖拽 工作副本文件夹到另一个位置,然后选择 → 或 → 或 → 。第二个选项也包括未版本控制的文件。第三个选项仅导出修改过的项目,但保持文件夹结构。
从工作副本导出时,如果目标文件夹已包含与您要导出的文件夹同名的文件夹,则系统将为您提供覆盖现有内容或创建具有自动生成名称的新文件夹(例如 Target (1)
)的选项。
导出对话框不允许导出单个文件,即使 Subversion 可以。
要使用 TortoiseSVN 导出单个文件,您必须使用仓库浏览器(“仓库浏览器” 章节)。只需将要导出的文件从仓库浏览器拖到资源管理器中您想要的位置,或使用仓库浏览器中的上下文菜单导出文件。
如果您想导出项目树结构的副本,但仅包含在特定版本或任意两个版本之间已更改的文件,请使用 “比较文件夹” 章节中描述的版本比较功能。
如果您想导出工作副本树结构,但仅包含本地修改的文件,请参阅上面 SVN 导出此处已更改的项目。