我很想与Mercurial合作。我的情况:
hg pull
编辑了hg merge
d,但没有清楚知道发生了什么。所以我真的希望在合并之前我将本地回购更改为2空格缩进;然后合并将是微不足道的(我想)。但我似乎无法支持。我想我需要hg update -r 3
,但它说abort: outstanding uncommitted merges
。
如何撤消合并,更改本地仓库中的间距,然后重新合并?
答案 0 :(得分:120)
顺便说一句:如果你只是恢复你做的合并而3不是你的修订号,你可以这样做:
hg update -C -r .
答案 1 :(得分:117)
您可以使用-C(或--clean)标记丢弃未提交的更改:
hg update -C -r 3
当心:未提交的所有内容都将消失!
之后你应该使用某种代码格式化工具来完成整个操作,或者至少一些使用正则表达式查找和替换。用^____
替换匹配__
(使用4个空格而不是下划线)与{{1}}(2个空格)一样简单,重复几次(除非你疯狂地使用一些嵌套代码)应该可以工作。
答案 2 :(得分:30)
要撤消未提交的合并,请使用
hg update --clean
将签出原始合并父级的干净副本,丢失所有更改。
答案 3 :(得分:2)
我显然只需要hg update -C -r 3
,它会记住我的本地文件(我认为hg update
会这样做;但我错了。)谢谢你的帮助! / p>