标签归档:SVN

SVN删除文件怎么恢复

SVN删除文件

一、本地删除
SVN删除文件中的本地删除,指的是在客户端delete了一个文件,但还没有commit,使用revert来撤销删除。

二、服务器删除
1.通过本地删除后提交服务器
a)Update上一个版本,但只适用于修改较少的情况;
b)通过showLog,找到被删的项,选中,点击右键->Revertchangesfromthisrevision;

2.在Repo-Browser中删除
这个删除比较厉害,让你在Repo-Browser都看不到被删除的项了。事实上项目并没有被真正删除。
a)本地项目还存在,点击右键->TortoiseSVN->UpdateToRevision,输入被删时的Revision,确定,然后再Import上去即可。
b)本地项目也不在了
点击右键->TortoiseSVN->Export..,
Urlofrepository填写项目的地址;
ExportDirectory填写要备份的路径;
Revision一项,默认是HeadRevision,但是这里不能选这项。因为项目已经被delete了,HeadRevision只对现存的项目有效,你最好是记住了删除前的版本。如果实在忘记了,一个个看,直到找到你需要的版本。
点击OK,如果没有该目录会提示你建立一个,确定后就OK了。

恢复SVN删除文件或文件夹

用TortoiseSVN:
1.在本地workingcopy中,用TortoiseSVN->Showlog查看版本库的历史记录。可以用search。
2.找到删除该文件或者文件夹的版本,在Logmessage里右键Revertthechangesfromthisrevision。
3.该文件或文件夹就被恢复到本地的workingcopy中了。如果是误删除的,commit到Repository里就行了。

用Eclipse的Subclipse插件:
1.用Team->ShowSVNRepositoryHistory查看版本库的历史记录。
2.找到删除该文件或者文件夹的版本,右键ReverttoXXversion.
3.该文件或文件夹就被恢复到本地的workingcopy中了。如果是误删除的,commit到Repository里就行了。本节关于SVN删除文件及其恢复内容介绍完毕。

svn 切换(Branch)分支

随着开发任务的增多,随之也会产生很多branch,有点项目需要修改比较多的配置文件,特别是零散的配置分散在各个角落的时候,为了沿用原有的workspace,要想获取新分支,以前长干的事情就是备份或者直接删掉本地的分支,然后svn checkout url获取新版本。接下来就是修改配置文件,一次次受够了,然后就得找到一种解决方案啊。google之后返现还有这个,svn switch url命令。由于之前操作失误删掉过branch,所以不敢随意搞。测试了以后没有问题,然后直接用起。这里分两种方式介绍。

1、使用svn命令:

switch (sw): 更新工作副本至不同的URL。

a、switch URL[@PEGREV] [PATH]
更新工作副本,切换到同一版本库中的新 URL。其行为跟 “svn update” 很像,也是将工作副本切换到同一版本库中某个分支或者标签的方法。PEGREV 决定从,哪个版本查找目标。如果使用了 “–force” 选项,在工作副本中未版本控制的障碍路径,不会自动导致失败。如果障碍路径与版本库中的对应路径类型相同(文件或目录),它将成为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,如果也是障碍路径,那么也会受版本控制。对于障碍路径中的文件,如果与版本库内的不同,将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。
使用 “–set-depth” 选项设置此操作目标的工作副本之新深度。

b、switch –relocate FROM TO [PATH…]
重写工作副本的 URL 元数据,以反映单纯的URL改变。当版本库的根URL改变(比如方案或者主机名称变动),但是工作副本仍旧对应同一版本库的同一目录 时,使用这个命令更新工作副本与档案库的对应关系。
2、使用TortoiseSVN:
右键目录文件夹-》TortoiseSVN-》Swith-》To path选中你要的分支-》OK即可

注意:网上有直接修改To path文件路径的,但是我没有成功过,通过选择指定版本就可以