本文档旨在描述 Apache™ Subversion® 的 1.7.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