2009-09-22 77 views

回答

179

假设你的工作目录是从树干工作:

的“根工作文件夹”(该术语通常是指Windows资源管理器),右键单击并做svn update升级你的工作文件夹复制到最新的树干。

确保你有稳定。

右键单击根工作文件夹并执行svn commit以确保将任何本地更改提交到中继。

右键单击根工作文件夹并执行svn repo-browser

如果您在存储库中没有分支文件夹:右键单击trunk文件夹上方的文件夹并执行“创建文件夹”并创建分支文件夹(例如,如果您的主干为http://myserver/svn/MyRepository/MyProj/Trunk,创建http://myserver/svn/MyRepository/MyProj/Branches)。

用鼠标右键单击中继文件夹并执行Copy To:并为您的分支放入新的文件夹名称。例如:http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch。 (不要担心这会浪费很多空间......这被称为“便宜的拷贝”......它实际上并不复制文件的内容,除非它们改变)。

关闭Repo-browser。

右键单击您的工作文件夹根目录,然后执行:svn switch并选择新分支的文件夹名称(例如,http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)。保持默认状态。

现在在你的分支上工作。当您到达里程碑时,右键单击根工作文件夹并执行svn commit以提交到您的分支。 (这不会在后备箱中看到)。

如果其他人正在同一分支上工作,请定期从根工作文件夹执行svn update。这将从分支更新。 (它不会从中继获得任何更新。)

无论其他人是否在同一分支上工作,您应定期合并主干中的更改以确保您的分支不会太难以后期集成。要进行定期合并,请右键单击工作文件夹根目录并执行svn merge。选择“合并一系列修订”。在“要合并的URL”下,选择中继线(例如,http://myserver/svn/MyRepository/MyProj/Trunk)。留下修订范围空白,并保留所有其他内容。点击下一步。留下一切,然后点击合并。确保一切仍然正常......如果不是,请修复它。一旦您满意,请从工作根文件夹执行常规svn update以从分支进行更新(即使您是唯一一个在分支上工作以满足SVN的情况,也是必需的)。然后执行svn commit将合并树干更改提交给分支。您可以根据需要定期多次重复此步骤。

一旦您的分支准备好进行整合,请最后一次执行上述步骤并进行最终测试。对分支做最后的承诺。

右键单击您的根工作文件夹并执行另一个svn switch,这次切换到中继(例如,http://myserver/svn/MyRepository/MyProj/Trunk)。这会产生“撤销”你在分支上所做的所有工作的效果,但不用担心......你将恢复工作。 (它也会报告你的分支没有更改的文件的很多更新,但这些只是“SVN属性”更改...不要担心它们。)

右键单击您的工作文件夹并做svn merge。这一次,请选择“重新整合分支”。对于URL,请输入您的分支(例如,http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)。单独留下剩下的部分并单击下一步。留下一切,然后点击合并。您现在拥有了您在分支机构完成的所有工作,以及干线上的最新工作。

做最后的测试。一切都应该起作用,因为这应该与你在分支上次测试中所使用的一组文件相同。右键单击您的根工作文件夹并执行svn commit。承诺一切,即使你的分支中没有工作的文件(他们只是有“SVN属性”的变化,但提交它们有助于SVN记录所有修订)。

树干现在拥有您所有的分支机构以及您在分支机构工作时在树干上完成的所有工作,而且一切正常。此外,SVN拥有所有文件的完整历史记录,甚至包括您在分支机构工作时签入的修订版本。

可选:进入Repo浏览器,右键单击您的分支文件夹(例如,http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)并执行“删除”。这对干线没有影响,你不需要分支。 (即使你真的是偏执狂,也不要担心,因为如果你真的需要的话,你甚至可以随时从Repo浏览器中取回被删除的分支。)

请随时发表评论!

+7

725字很简单吗? – RedFilter 2009-09-22 18:56:16

+32

我说“最简单”不是“简单”:) – JoelFan 2009-09-22 18:58:30

+12

这一直很有帮助,谢谢! – Funka 2009-11-20 22:00:42

相关问题