本文档旨在描述 Subversion 的 1.6.x 系列版本。如果您正在运行不同版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并参考与您的 Subversion 版本相对应的文档版本。

摘要

本章涵盖了很多内容。我们讨论了标签和分支的概念,并演示了 Subversion 如何使用 svn copy 命令复制目录来实现这些概念。我们展示了如何使用 svn merge 将更改从一个分支复制到另一个分支,或回滚错误的更改。我们讲解了 svn switch 用于创建混合位置工作副本的用法。我们还讨论了如何在存储库中管理分支的组织和生命周期。

请记住 Subversion 的口号:分支和标签很便宜。因此,在需要时不要害怕使用它们!

为了方便您参考我们讨论过的所有操作,以下是一个实用的参考表,您可以在开始使用分支时查阅。

表 4.1 分支与合并命令

操作 命令
创建分支或标签 svn copy URL1 URL2
将工作副本切换到分支或标签 svn switch URL
将分支与主干同步 svn merge trunkURL; svn commit
查看合并历史记录或符合条件的变更集 svn mergeinfo SOURCE TARGET
将分支合并回主干 svn merge --reintegrate branchURL; svn commit
合并一个特定的更改 svn merge -c REV URL; svn commit
合并一系列更改 svn merge -r REV1:REV2 URL; svn commit
阻止自动合并更改 svn merge -c REV --record-only URL; svn commit
预览合并 svn merge URL --dry-run
放弃合并结果 svn revert -R .
从历史记录中恢复内容 svn copy URL@REV localPATH
撤销已提交的更改 svn merge -c -REV URL; svn commit
检查合并敏感的历史记录 svn log -g; svn blame -g
从工作副本创建标签 svn copy . tagURL
重新排列分支或标签 svn move URL1 URL2
删除分支或标签 svn delete URL