重复:How do I roll back all or part of a commit to svn?
我在http://www.projectlocker.com/为我的一个项目设置了一个帐户。我是唯一一个正在努力的人,但我认为版本跟踪仍然有用,这是一个很好的学习经验。我用/ trunk /,/ branches /,/ tags /.
设置了标准文件夹结构所以说你在干线上工作,并意识到你真的搞砸了一些东西,但是你想要回到几个版本并继续从那里开始。我可以更新到以前的版本并开始进行更改,但服务器将不允许我提交,除非我从最后一个版本更新,这也将带来所有不需要的更改。那么我如何回到之前的版本,然后从那里继续工作?我是否以某种方式将旧版本合并到最新版本中?
我正在使用视觉工作室的AnkhSVN插件,所以我很感激和回答解释如何在该客户端中执行此操作,但我确信我可以从更概念性的答案中找出实际的按钮点击。< / p>
答案 0 :(得分:11)
我不使用AnkhSVN,因此我现在不能完全满足您的需求,但在TortoiseSVN和命令行中这是一个相当大的任务:
您只需通过应用反向合并撤消所有更改。 通常这是在Tortoise中完成的:
在命令行上你应该这样做:
svn merge -r 120:100 http://svn.example.com/<path_to_your_repo>
这将撤消101-120的所有修订,让您与Rev 100相同
答案 1 :(得分:1)
来自颠覆书:
http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.branchmerge.commonuses.undo
这基本上就像你说的那样......你想将旧版本与你的工作目录合并。
答案 2 :(得分:0)
不确定它是否回答了您的问题,但您可以根据旧版本创建分支。
使用AnkhSVN最简单的方法是:
(^)如果网址不符合您的预期,您应该修复文件中的解决方案绑定网址 - &gt;颠覆 - &gt;更改源代码管理。通常它应该是项目的逻辑根。