如何撤消svn更新?

chm*_*ike 12 svn

我修改了工作目录中的文件并进行了svn更新.更新执行时没有冲突.

我希望能够将工作目录内容恢复到svn更新之前的状态.

原因是因为我与共享的svn存储库并行维护一个本地git存储库.在执行svn更新之前,我忘了git提交我的本地更改.现在,我的工作目录包含与svn更新产生的更改混合的本地更改.如果我提交,所有更改将显示为一个原子更改.我希望他们能分开.如果我可以恢复更新并保留我在svn更新之前的工作目录的内容,我可以这样做.

Eri*_*ulz 11

我一直在回答这个问题,它实际上并没有包含"如何撤消svn更新?"的简单答案.题.

因此,为了其他人的利益,在可解决的情况下,您只想回滚更新:

首先检查日志:

svn log | less
Run Code Online (Sandbox Code Playgroud)

这将为您提供您957希望返回的修订号(例如).然后:

svn up -r 957
Run Code Online (Sandbox Code Playgroud)

  • 这个答案忽略了修改后的工作目录的情况. (9认同)
  • 是@RobertPollak,但它回答了问题标题所提出的问题... (2认同)
  • 投反对票,因为这不能回答原始问题(其中第一句话包含有关修改文件的注释)。这将是另一个问题“如何更新到特定修订版”的答案。如果有修改过的文件,这个答案将不起作用,甚至没有提到它。 (2认同)

Jan*_*dec 5

这是不可能的.忘记更新前的状态.

您可以通过制作subversion diff来分隔更改,使用git apply它来将其应用于索引,提交(您的更改)并提交所有内容(来自pull的更改).

这是紧急解决方案.我建议你切换到git-svn,将来会为你处理这类事情.