当前位置:  开发笔记 > 运维 > 正文

如何将HEAD更改为先前的版本

如何解决《如何将HEAD更改为先前的版本》经验,为你挑选了2个好方法。

我们遇到的情况是有人搞砸了我们SVN服务器的提交.许多文件被删除等.

问题:将先前(向坏的提交)修订版制作HEAD修订版的技术是什么?我已经在这里看到了关于为1个文件执行此操作的讨论,但我们想让它像最后一次提交从未发生过.有任何想法吗?

所有这些答案似乎都是正确的.我将abatishchev的答案标记为正确的答案仅仅是因为我使用的是Tortoise SVN,这是我实际使用的方法.



1> VonC..:

最干净的方法是撤消变更

您可以使用svn merge来"撤消"工作副本中的更改,然后将本地修改提交到存储库.您需要做的就是指定反向差异.(您可以通过指定--revision 303:302或等效来执行此操作--change -303.)

我意识到它并没有"让它像最后一次提交从未发生过",因为提交仍然是历史的一部分,但我相信在历史中保持这种糟糕的提交会更好.
它可能包括一些可以查询/比较的正在进行的工作,以便轻松地重新制作新的正确提交.


即使:

SVN(1.5)手册提到了将来obliterate完成永久删除信息任务的命令,以及

提到svndumpfilter可能的解决方法(因为它提供了通过充当基于路径的过滤器快速轻松地修改转储文件数据的能力)

...最好不要尝试将SCM工具扭曲成一开始就不应该做的事情.
历史化(以及与分支的并行化)是SCM的两个主要特征.



2> abatishchev..:

也许你可以显示日志,检查以前的版本(n-1),在上下文菜单中选择Revert to this revision并提交更改(它将变为n + 1,其中n是当前坏头)


这不适合我.当我将我的本地更改恢复到以前的版本并尝试提交时,svn告诉我,我不能提交,直到我更新我的工作副本到哪种方式失败的目的:/
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有