如何放弃一个汞合并?
我是新来的与Mercurial合作。 我的情况:
- 另一个程序员改变了文件的第一个版本,用两个空格的缩进replace了4个空格的缩进。 (即改变了每一行。)调用第2版,推到远程回购。
- 我已经承诺在本地工作区进行各种代码更改的第一次修改。 打电话给rev 3。
- 我没有清楚地知道发生了什么事情,但是我已经
hg pull
和dhg merge
了。 - 冲突是无数的,并不是真正的实质性的。
所以我真的希望在合并之前将我的本地库修改为2格缩进; 那么合并将是微不足道(我假设)。 但我似乎无法备份。 我想我需要hg update -r 3
但它说abort: outstanding uncommitted merges
。
我怎样才能撤消合并,改变我的本地回购空间,并remerge?
您可以使用-C(或–clean)标志放弃未提交的更改:
hg update -C -r 3
注意:所有没有提交的东西都将被删除!
之后,你可能应该使用某种代码格式化工具来完成整个操作,或者至less有一些查找和replace正则expression式。 用__
(2个空格)代替^____
(使用4个空格而不是下划线),重复几次(除非你疯狂地使用了一些嵌套代码)就可以工作。
顺便说一句:如果你只是恢复合并,你做了3不是你的修订号码,你可以这样做:
hg update -C -r .
要撤消未提交的合并,请使用
hg update --clean
这将检查出原始合并父项的一个干净的副本,失去所有的变化。
我显然只需要hg update -C -r 3
,它会覆盖我的本地文件(这是我认为hg update
会做的;但是我错了)感谢您的帮助!