需要在Subversion中恢复已删除的分支

我有一个Subversion版本库的副本,其中一个是主干,另一个是我创build的分支。

我不小心删除了存储库浏览器中的分支。 我如何恢复分支? 有没有办法撤消整个资源库的最近提交?

使用:

svn cp [path to deleted branch]@[revision before delete] [new path] 

例如:

 svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \ svn://myrepo.com/svn/branches/2.0.5_restored 

删除之前的1993年是在哪里修改的

这里有一些很好的文档

必须有一些方法来逃避用户名中的@符号…

如果您使用的是TortoiseSVN,这里是一个解决scheme:

  1. 在回购浏览器中,导航至您删除的文件夹(例如“分支”)的父文件夹。
  2. 右键单击该文件夹并执行“显示日志”。
  3. find您删除特定分支文件夹的版本。
  4. 在该修订之前立即select修订。
  5. 右键单击并select“浏览存储库”。 您现在在即将删除分支之前即刻查看存储库的状态。
  6. find您删除的分支文件夹,select,右键单击,然后select“复制到…”
  7. 您现在可以将删除的文件夹复制到新名称或甚至相同的名称。

假设你的最后一次修改是108:

 svn merge --revision 108:107 svn diff svn commit -m "Reverted revision 108" 

您也可以将您的源URL添加到合并:

 svn merge --revision 108:107 http://svn/repo/ 

堆栈溢出的其他地方: 在TortoiseSVN中撤消提交

我遇到了这个问题,但上面的命令不适合我。 做了什么更容易。 在我删除之前,我在一个修订版中检出了该分支。

被删除的版本是9331.我在9330检查了它:

 svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored 

这是我想要的简单解决scheme。

这对我有用,

svn cp –username your_user_name https:// path_to_your_repo / branches / deleted_branch_name @ last_revision_before_deletion https:// path_to_your_repo / branches / new_name_for_branch

或者,如果是单个提交,删除分支:

恢复提交,然后提交

 svn merge -c -REV . svn commit -m "Reverting deletion of branch XYZ"