svn:恢复到以前的版本

Jas*_*n S 8 svn

我错误地将错误的更改提交到文件,为了简化示例,我们将其称为foo.txt:

foo.txt,rev 300(正确):

 E = mc^2
Run Code Online (Sandbox Code Playgroud)

foo.txt,rev 301(不正确):

 E = mc^3
Run Code Online (Sandbox Code Playgroud)

如何将rev 300重新提交到下一次提交?如果我将foo.txt更新为rev 300,我会得到正确的文件但其状态是正确的并且不需要提交.

注意:我只想恢复foo.txt.rev 301中的其他修订很重要,我需要保留它们.

Dig*_*oss 15

svn merge -r301:300 foo.txt
svn commit -m 'revert foo.txt to 300'
Run Code Online (Sandbox Code Playgroud)


Jos*_*shD 9

如果您正在使用TortoiseSVN,这非常容易.只需查看该文件的日志,右键单击修订版300并选择还原到此修订版(这是本地操作).然后,您可以将本地文件提交为302.

(可选)如果这种情况发生在很久以前,您可以选择还原此修订版本中的更改.这将仅还原该签入时发生的更改(您将在301上执行此操作).