Svn 当您忘记创建新分支时,如何在subversion中继续处理旧版本

Svn 当您忘记创建新分支时,如何在subversion中继续处理旧版本,svn,version-control,ankhsvn,Svn,Version Control,Ankhsvn,重复: 我已经在为我的一个项目建立了一个帐户。我是唯一一个从事这项工作的人,但我认为版本跟踪仍然很有用,这是一个很好的学习体验。我已经用/trunk/,/branchs/,/tags/设置了标准文件夹structural 因此,假设您正在处理主干,并意识到您确实弄糟了一些东西,但您希望返回一些修订并从那里继续。我可以更新到上一个版本并开始进行更改,但服务器将不允许我提交,除非我从上一个版本进行更新,这也将带来所有不需要的更改。那么,我如何回到以前的版本,然后继续从那里的主干工作?我是否以某种方

重复:


我已经在为我的一个项目建立了一个帐户。我是唯一一个从事这项工作的人,但我认为版本跟踪仍然很有用,这是一个很好的学习体验。我已经用/trunk/,/branchs/,/tags/设置了标准文件夹structural

因此,假设您正在处理主干,并意识到您确实弄糟了一些东西,但您希望返回一些修订并从那里继续。我可以更新到上一个版本并开始进行更改,但服务器将不允许我提交,除非我从上一个版本进行更新,这也将带来所有不需要的更改。那么,我如何回到以前的版本,然后继续从那里的主干工作?我是否以某种方式将旧版本合并到最新版本中


我使用的是visual studio的AnkhSVN插件,因此我非常感谢并回答了如何在该客户端中执行此操作的问题,但我确信我可以从一个更概念化的回答中找出实际的按钮点击情况。

来自subversion书籍:


基本上就像你说的。。。您希望将旧版本与您的工作目录合并。

我不使用AnkhSVN,因此我现在不知道您需要什么样的单击,但是在Ortoisesvn和commandline中这是一项相当艰巨的任务:

您只需通过应用反向合并来撤消所有更改。 通常通过以下方式在乌龟身上实现:

  • 显示工作副本的日志
  • 选择要反向合并到的修订
  • 按鼠标右键并选择“还原到此版本”
  • 提交新版本(与先前选择的版本完全相同。)
在命令行上,您应该执行以下操作:

svn merge -r 120:100 http://svn.example.com/<path_to_your_repo>
svn合并-r 120:100http://svn.example.com/

这将撤消101-120的所有修订,留下与Rev 100相同的版本,不确定它是否回答了您的问题,但您可以根据旧版本创建分支

使用AnkhSVN,最简单的方法是:

  • 右键单击解决方案
  • Subversion->分支解决方案
  • 检查url是否是要分支的url(例如“^/trunk”)(^)
  • 选择:分离特定版本并键入(或浏览)您要使用的版本
  • 键入日志消息
  • 选中底部的“创建后切换到分支”复选框
  • 然后好的
(^)如果url不是您期望的url,则应在文件->Subversion->更改源代码管理中修复解决方案绑定url。通常,它应该是项目的逻辑根