Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SVN回滚到上一版本,而不更新工作副本_Svn - Fatal编程技术网

将SVN回滚到上一版本,而不更新工作副本

将SVN回滚到上一版本,而不更新工作副本,svn,Svn,是否可以在不首先进行更新的情况下将SVN回滚到以前的版本 修订版606很好。然后,在工作中,我做了一些事情,有效地删除了大部分项目,并将其提交给了610。现在,我在家和一个工作的606。通常的回滚方式如下所示: svn更新 svn合并-r 610:606 svn提交-m“回滚到r606” 这将需要删除我的所有文件,然后重新下载整个项目。难道没有更好的办法吗?我想要这样的东西: svn copy 606 611#非真实语法;这就是我希望能够做到的 澄清:存储库相当大,因此我尝试完全在服务器端

是否可以在不首先进行更新的情况下将SVN回滚到以前的版本

修订版606很好。然后,在工作中,我做了一些事情,有效地删除了大部分项目,并将其提交给了610。现在,我在家和一个工作的606。通常的回滚方式如下所示:

svn更新
svn合并-r 610:606
svn提交-m“回滚到r606”
这将需要删除我的所有文件,然后重新下载整个项目。难道没有更好的办法吗?我想要这样的东西:

svn copy 606 611#非真实语法;这就是我希望能够做到的


澄清:存储库相当大,因此我尝试完全在服务器端执行此操作(即,不通过网络传输整个内容)。

可以通过合并的方式恢复提交,但有缺点


相反,如果可能的话,在版本606处转储存储库,并从转储中创建一个新的存储库。这样,您就可以完全删除这些修订。显然,只有在没有其他必须保留的提交的情况下,这才是可能的

解决方法是删除整个内容,然后将旧版本复制到头部。通过到处提供完整的URL,可以在服务器端完成删除和复制。请注意,使用
svn copy
,必须复制到父级(即
svn copy…/a/b…/a/



(如果有人建议在不重新下载整个项目的情况下执行此操作的替代方法,我很乐意将其标记为答案。)

您可以使用以下步骤将分支恢复到606版本:

  • svn合并--干运行-r:610:606“分支url”
  • svn合并-r:610:606“分支url”
  • svn提交“恢复到606”

  • 问题是存储库太大了,所以我不想查看全部内容。噢,修订数量如此之少,真让人惊讶。谢谢你的建议。然而,这不是和我最初发布的序列一样吗?运行svn merge-r 610:606时,我出现了一个错误,说我必须先更新,这会删除我的所有文件。然后,我必须重新下载整个项目。我错过什么了吗?
    svn delete https://…/repos/proj/subproj
    svn copy https://…/repos/proj/subproj@606 https://…/repos/proj/ -m "…"