alt text http://img38.imageshack.us/img38/1863/screenshot20091218at112.png
修订107意外地合并了100-106版本中的所有更改
版本108是一个hg恢复--所有-r 106,然后是hg提交,这可能是错误的做法,因为我没有合并我进行所有更改的分支,而是将所有更改包含在一个没有描述或历史的更改集中。
A)首先,我应该如何着手合并分支?
但更重要的是:
B)现在如何合并分支?
发布于 2009-12-18 22:40:27
如果你还没有把repo从你的机器上推下来,你有一个简单的解决方法:
cd ..
hg clone -r 106 current newcurrent
cd newcurrent
hg pull -r 97 ../current现在newcurrent是一个回购,看起来与你的旧回购在107和108发生之前完全一样。
要合并这两者,只需执行以下操作:
hg update # which gets you to tip
hg merge # which merges in the other head and forces you to make choices还不清楚你在创建107时做错了什么,所以我不知道如何在实践中建议改变,但这应该是一个简单的合并问题。意外地消除一个分支中的所有更改应该是hard。
发布于 2009-12-18 21:54:23
如果可能,请备份存储库,以便您可以安全地进行实验。
此命令将撤消上一次事务:
hg rollback -h此命令可能有助于您撤消合并和还原:
hg backout -h此命令会将工作目录恢复到以前的状态,而不会影响存储库:
hg revert -h每种情况下的-h选项都为您提供命令的帮助。准备好应用命令时,请删除-h选项。
我的第一个实验是:
hg rollback
hg merge -r 106计划是返回到版本107,它看起来像是包含变更集95和96的头部的成功合并,然后在包含变更集97、100 - 106的头部进行合并。
https://stackoverflow.com/questions/1927669
复制相似问题