我的SVN存储库在修订版497中是完美的.我执行了几次不良提交,所以现在它处于修订版HEAD.我看到要回滚你应该使用这样的命令:
svn merge -r HEAD:497 .
Run Code Online (Sandbox Code Playgroud)
在工作目录中(工作目录是HEAD修订版).但这是正确的命令吗?或者我使用HEAD:498?还是496?我已经运行了该命令,当前版本似乎与497不同,因为当我更新-r 497(或者当我有497个工作副本并且我更新-r HEAD)时,会发生大量文件更新.
我是否有某种fencepost问题,其中HEAD:497实际上恢复到496,或者其他什么?或者,当我更新时,尽管HEAD和497是相同的,但SVN会追溯到每个版本?
编辑:
只是为了澄清,正如我早些时候说的,当我在497和我合并的HEAD之间更新时,我看到发生了很多文件更改.我认为如果497和HEAD相同,它会检测到,并且不会发生文件更改; 它只会说"更新到修订版497." 我的命令错了,还是这个想法错了?(如果是的话,为什么?)
Upg*_*ave 74
如果你的回购在修订版497处于原始状态,那么我认为你是对的,你需要做一个:
svn merge -r HEAD:497 .
Run Code Online (Sandbox Code Playgroud)
该merge命令只会更改工作副本中的文件,因此请记住还要提交更改以更新repo中的HEAD.
在进行合并,然后是提交之后,尝试将版本497与HEAD进行比较,它们应该是相同的.
San*_*ken 22
如果要撤消r123,则需要 svn merge -r 123:122 .
这意味着你需要运行
svn merge -r HEAD:497 .
Run Code Online (Sandbox Code Playgroud)
要验证运行:
svn diff -r 497
Run Code Online (Sandbox Code Playgroud)