SVN 我刚刚用SVN覆盖更新了我本地的代码,悲催的是,我有一些新写的代码忘记提交了,直接被覆盖了!!!!

请问各位大侠,有没有办法恢复到我覆盖更新之前的代码啊?在线等。。。QQ350789448... 请问各位大侠,有没有办法恢复到我覆盖更新之前的代码啊?在线等。。。QQ350789448 展开
 我来答
hjm075
2012-07-25 · TA获得超过163个赞
知道答主
回答量:260
采纳率:0%
帮助的人:113万
展开全部
在代码的编写过程中,难免有些错误需要修改,或者想从以前的文件进行代码修改,这样就涉及到版本的追踪,如果你以前提交时日志写的非常清楚,那版本追踪回滚起来就事半功倍、得心应手。下面介绍几种版本回滚的办法:
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并解决冲突。
blankman_bd
2012-09-11
知道答主
回答量:6
采纳率:0%
帮助的人:9.6万
展开全部
svn update 是不会覆盖你的更改的,如果别人的修改跟你的距离很远,svn 会将别人的更新合并到本地文件中,如果距离很近 svn 无法判断如何合并,会生成 .mine .r# .r#-1 原文件 共四个文件,供你选择保留哪些代码,处理后 reserved 一下,除了原文件以外就都删除了,commit 就可以了

建议仔细学习一下手册
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5cc7048
推荐于2017-12-15
知道答主
回答量:3
采纳率:0%
帮助的人:4562
展开全部
本地有个xxx.cpp.mine文件,把他的.mine后缀删了,得到的代码就是你更新之前的 这样你可以解决了冲突再把你原有代码加进去 应该是最优解了==
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我与蚕
2013-12-19
知道答主
回答量:5
采纳率:0%
帮助的人:3.3万
展开全部
如果使用eclispe,还可以看看restore from loclal history
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辛铖llk
2017-12-14
知道答主
回答量:71
采纳率:0%
帮助的人:16.7万
展开全部
兄弟你解决了吗?我和你情况一样啊,4000多行代码覆盖了,也没提交库里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式