当你忘记创建一个新的分支时,你如何继续在subversion中修改旧版本

Eri*_*tas 4 svn version-control ankhsvn

重复:如何将全部或部分提交回滚到svn?


我在http://www.projectlocker.com/上为我的一个项目设立了一个帐户.我是唯一一个正在努力的人,但我认为版本跟踪仍然有用,这是一个很好的学习经验.我用/ trunk /,/ branches /,/ tags /设置了标准文件夹结构.

所以说你在干线上工作,并意识到你真的搞砸了一些东西,但是你想要回到几个版本并从那里继续.我可以更新到以前的版本并开始进行更改,但服务器将不允许我提交,除非我从最后一个版本更新,这也将带来所有不需要的更改.那么我如何回到之前的版本,然后从那里继续工作?我是否以某种方式将旧版本合并到最新版本中?

我正在使用视觉工作室的AnkhSVN插件,所以我很感激和回答解释如何在该客户端中执行此操作,但我确信我可以从更概念性的答案中找出实际的按钮点击.

Pet*_*ker 11

我不使用AnkhSVN,所以我现在不完全是你需要的点击,但是在TortoiseSVN和命令行中它是一个相当重要的任务:

您只需通过应用反向合并撤消所有更改.通常这是通过以下方式在Tortoise中完成的:

  • 显示工作副本的日志
  • 选择要反向合并的修订版本
  • 按鼠标右键并选择"还原到此修订版"
  • 提交新版本(与之前选择的版本相同).

在命令行上你应该这样做:

svn merge -r 120:100 http://svn.example.com/<path_to_your_repo>
Run Code Online (Sandbox Code Playgroud)

这将撤消101-120的所有修订,使您与Rev 100相同