SVN仓库版本回退

SVN仓库版本回退,第1张

当我们使用SVN增理备份和恢复时,如果不小心使用svnadmin load错了版本时,需要先装load错的版本删了再重新load正确的版本。查询过svnadmin 的命令,貌似没有发现删除或回退指定版本相关的命令,但是我们可以直接删改文件来实现这个功能。

我们要load的dump文件有

由于操作失败,我们load test.0-10.dump后直接load了test.16-25.dump

这时候在load完 test.16-25.dump时会有如下提示

此时查看svn show log会发现原来的16-25的版本号改为了11-20,直接跳过了11-15的版本号。如果再load 11-15的话就会装版本号的顺序弄反,导致仓库数据出错。

此时我们需要先删除仓库中的11-20版本,再重新依次load test.11-15.dump 和 test.16-25.dump

回滚完成了,这时候可以重新load正确的版本了。

这种操作也可以删除svn仓库中的指定版本,彻底的毁尸灭迹,不在svn版本库中留下痕迹。

在代码的编写过程中,难免有些错误需要修改,或者想从以前的文件进行代码修改,这样就涉及到版本的追踪,如果你以前提交时日志写的非常清楚,那版本追踪回滚起来就事半功倍、得心应手。下面介绍几种版本回滚的办法:

1.推荐的一种方法是,直接export一个你需要的版本,然后用你export的版本覆盖你的最新的版本,这样你就可以不丢失你新建的文件,同时获得最新的SVN版本控制。

操作步骤:TortoiseSVN→Show log→选中需要回滚的版本→右键→Export。

之后将修改的文件覆盖到你的最新版本,commit即可。

2. 若是你编辑了工程,在没有提交的前提下,你想放弃这些修改,你可以直接选择TortoiseSVN→revert就可以更新到工程的最新的版本。

3. 若是你想退回到某一个版本,你就可以直接选择TortoiseSVN→update to reversion,这样我们就可以把我们的版本回退到你选中的版本去,这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突。

4.你可以直接选择revert changes from this revision,这样的话你可以直接解决冲突并提交。不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。

5.可以从日志中回滚到你需要的版本,从日志中选中你需要的版本,然后Update item to reversion就好了,这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突。

在eclipse里面使用SVN,可以通过副本文件中找到要还原的版本复制即可。

详细如下:

如果有本地修改,需提交到远程svn服务器或撤销修改;

2. 更新本地代码,保持和远程代码一致,如下图;

3. svn team右键显示历史资源记录;

4. 选中要回滚的版本,右键点击回复更改;

5. svn提交修改,生成一个回滚后的最新版本。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/346909.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存