Svn 需要在Subversion中还原已删除的分支
我有两个Subversion存储库的工作副本,一个是主干,另一个是我创建的分支 我无意中删除了存储库浏览器中的分支。如何恢复分支?是否有办法撤消整个存储库最近的提交?使用:Svn 需要在Subversion中还原已删除的分支,svn,version-control,branch,Svn,Version Control,Branch,我有两个Subversion存储库的工作副本,一个是主干,另一个是我创建的分支 我无意中删除了存储库浏览器中的分支。如何恢复分支?是否有办法撤消整个存储库最近的提交?使用: 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
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是删除前的修订
是一些很好的文档
必须有某种方法来转义用户名中的
@
符号 假设您的上一次修订是108:
svn merge --revision 108:107
svn diff
svn commit -m "Reverted revision 108"
您还可以将源URL添加到合并:
svn merge --revision 108:107 http://svn/repo/
堆栈溢出的其他位置:
如果您使用的是陆龟vn,这里有一个解决方案:
我遇到了这个问题,但是上面的命令对我无效。这样做容易得多。在删除分支之前,我在一次修订中签出了它 删除的修订版本为9331。我在9330查过了:
svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored
这是我想要的简单解决方案。这对我很有效
svn cp——用户名您的用户名
https://您的回购路径/branchs/已删除的分支机构名称@删除前的最后一次修订
https://您的回购协议路径/branchs/新的分支机构名称
或者,如果是单个提交删除了分支: 恢复提交,然后提交
svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"
我在SmartSVN(Enterprise 6.0.2)中遇到了同样的问题,并以这种方式解决了它:
- 打开后备箱/头部的视图
- 调用菜单“存储库/在存储库浏览器中打开”(已删除的分支不在“分支”文件夹中)
- 在存储库浏览器中,调用菜单“存储库/显示修订…”
- 选择删除之前的修订(删除的分支会重新出现在“分支”文件夹中)
- 右键单击已删除的分支,在菜单中选择“复制”,然后为目标输入相同的路径
--depth immediates
签出父级,然后使用--depth infinity
运行指定的合并命令,则可以避免签出整个父级。