我从默认(仅)分支克隆了存储库。许多提交都做了很多工作。我最终希望将当前更改作为单独的开发流推送回存储库。所以我做了一个hg分支8-2-。拉出当前存储库中的内容(仍然只是默认分支)。将更改合并到我的东西中。 现在,当我尝试做hg push --new-branch时,我仍然会发出多个警告:
abort:push创建新的远程头57550f12d0f6! (你忘记了吗? 合并?使用push -f强制)
hg是谁:
变更集:132:8ab701e45e38分支:8-2-标签:小费 parent:131:3f2c30e8396d parent:129:a45e28d1ef1b user:
Vance Neff日期:星期一8月06日14:55:14 2012-0400摘要:合并意外的头变更集:129:a45e28d1ef1b用户:Vance Neff 日期:2012年8月2日星期四14:15:08 -0400 摘要:为变更集7d88ac157486添加了标记8-1-29
变更集:113:57550f12d0f6用户:Vance Neff 日期:2012年8月2日星期四18:29:32 -0400 摘要:为变更集4ab1691d7120添加了标记8-2-29
我发现在我执行hg分支8-2-,变更集113之前,有问题的头是最后一次提交。
我该如何解决这个问题?注意:我已经阅读了有关在这里使用命名分支的所有警告。太晚了。
谢谢万斯
答案 0 :(得分:1)
我无法确切地看到您在那里做了什么以及您的存储库的当前状态,但看起来您需要将default
上的两个更改集合并在一起。
hg update 129
hg merge 113
hg commit -m "merge"
之后,你只会在default
上只有一个头,一切都很好。
或者,您可以使用strip
命令删除出错的所有(未推送)更改。然后你可以重做它们。请注意,请确保仅删除hg outgoing
中显示的更改集,以便不删除任何公开更改集。
提示:当我对即将运行的命令没有信心时,我通常会在执行它之前制作一个克隆或副本的存储库,以便我可以轻松地恢复到原始状态。 DVCS的祝福之一:)。