您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

版本控制 – 使用未提交的更改从“hg update”恢复

5b51 2022/1/14 8:22:10 python 字数 2832 阅读 578 来源 www.jb51.cc/python

我一直在使用Mercurial遇到以下问题,这非常烦人: >我正在进行一些修订A. >我有本地更改,我打算在A之上提交或修改,但还没有. >我想去修订版B,但我忘了我有本地修改! >我做了hg更新B. Mercurial“帮助”尝试将我的本地更改重新设置为在B之上应用.这通常会导致冲突,现在它要求我修复冲突. 但是,我不想修复冲突!我不希望我的本地更改完全适用于B之上.我希望他们留在A,或者作为A

概述

>我正在进行一些修订A.
>我有本地更改,我打算在A之上提交或修改,但还没有.
>我想去修订版B,但我忘了我有本地修改
>我做了hg更新B. Mercurial“帮助”尝试将我的本地更改重新设置为在B之上应用.这通常会导致冲突,现在它要求我修复冲突.

但是,我不想修复冲突!我不希望我的本地更改完全适用于B之上.我希望他们留在A,或者作为A之后的新提交,或者根据具体情况修改为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

你现在应该回到你开始的地方.如果您在第一次更新后修改文件,那么它是您在第二次解析后看到的修改后的版本.这就是您希望在第一次更新后解析文件的原因.

总结

以上是编程之家为你收集整理的版本控制 – 使用未提交的更改从“hg update”恢复全部内容,希望文章能够帮你解决版本控制 – 使用未提交的更改从“hg update”恢复所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶