版本控制 – 使用未提交的更改从“hg update”恢复
我一直在使用Mercurial遇到以下问题,这非常烦人:
>我正在进行一些修订A. 但是,我不想修复冲突!我不希望我的本地更改完全适用于B之上.我希望他们留在A,或者作为A之后的新提交,或者根据具体情况修改为A. 有没有办法可以从这个州恢复?我知道的唯一方法是 >修复B处的合并冲突 这是很多工作,而且毫无意义.我不应该将我的本地更改重新设置为在B之上应用,只是再次将它们重新绑定以应用于A之上. 如果没有更好的方法可以从这个错误中恢复,那么当你有本地更改时,是否有办法让hg拒绝进行更新?我从来不想这样做 – 如果我想要我只是提交本地更改并在B之上重新定义它们. 解决方法
在更新某个地方并返回后获取脏文件有点棘手. “技巧”是确保您的工作副本在第一次更新后具有脏文件.
所以你做完之后 hg update $SOMEWHERE 并发现混乱,因为Mercurial开始打开合并工具,平静地关闭合并工具,然后运行 hg resolve --unmark --all hg resolve --all --tool internal:local 由于您对其进行了更改而合并的所有文件现在看起来就像它们在脏工作副本中所做的那样.这包括干净地合并的文件和提示您合并的文件.现在可以更新回来: hg update $BACK hg resolve --unmark --all hg resolve --all --tool internal:local 你现在应该回到你开始的地方.如果您在第一次更新后修改了文件,那么它是您在第二次解析后看到的修改后的版本.这就是您希望在第一次更新后解析文件的原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |