需要在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:
- 在回购浏览器中,导航至您删除的文件夹(例如“分支”)的父文件夹。
- 右键单击该文件夹并执行“显示日志”。
- find您删除特定分支文件夹的版本。
- 在该修订之前立即select修订。
- 右键单击并select“浏览存储库”。 您现在在即将删除分支之前即刻查看存储库的状态。
- find您删除的分支文件夹,select,右键单击,然后select“复制到…”
- 您现在可以将删除的文件夹复制到新名称或甚至相同的名称。
假设你的最后一次修改是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"