在TortoiseSVN中撤消提交


99

我偶然提交了一堆文件(不同文件夹中的数十个文件)。什么是最简单,最干净(和最安全!)的“撤消”提交而不必从工作目录中删除文件的方法?

Answers:


151

转到“ 显示日志屏幕”,选择要撤消的修订版本,右键单击它,然后选择“ 从该修订版本还原更改”,这将进行反向合并


8
那就是我所期望的,但是最新的乌龟发布没有任何迹象
Anthony Main

39
不要忘记事后提交,因为它只是在本地合并。
pihentagy 2011年

5
在执行此操作之前,请确保更新您的工作副本,否则不会发生任何事情。
Florian Brucker


TortoiseSVN>显示日志> <选择您的旧版本>>还原到此版本tortoisesvn.net/docs/nightly/TortoiseSVN_en/…–
Satyendra

15

您可能需要使用命令行,但是可以使用SVN merge命令并反向指定修订版本,以有效地还原提交。假设您的错误提交是r1123,则可以执行以下操作:

svn merge -r1123:1122 <url of your working copy>

当我这样做时,什么都没有改变:svn merge -r 1880:1879 server / myproject / branches / problem42 我尝试过使用“ -r 1880:1879”这样的空间,而没有使用“ -r1880:1879”这样的空间。如果我之后运行“ svn st”,则没有任何改变。
neoneye 2012年

2

您可以在提交之前将工作副本还原为修订版。还原工作副本后,只需提交更改,即可有效回滚意外提交。

在像您这样的情况下,我可能会签出要回滚到新工作副本的修订,然后将工作副本提交到主修订。


4
这难道不告诉您您的修订版本已过时,需要您在提交之前进行更新吗?我认为您需要合并以前的修订,而不是仅更新到旧的。
Mnebuerquo,

此外,此策略还假定错误的提交是前一个。您可能要撤消前一段时间发生的某些更改,而不撤消所有更改。
jpaugh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.