首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mercurial no-op合并以保留历史并关闭分支

Mercurial no-op合并以保留历史并关闭分支
EN

Stack Overflow用户
提问于 2009-12-18 19:29:32
回答 2查看 1.1K关注 0票数 3

alt text http://img38.imageshack.us/img38/1863/screenshot20091218at112.png

修订107意外地合并了100-106版本中的所有更改

版本108是一个hg恢复--所有-r 106,然后是hg提交,这可能是错误的做法,因为我没有合并我进行所有更改的分支,而是将所有更改包含在一个没有描述或历史的更改集中。

A)首先,我应该如何着手合并分支?

但更重要的是:

B)现在如何合并分支?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-18 22:40:27

如果你还没有把repo从你的机器上推下来,你有一个简单的解决方法:

代码语言:javascript
复制
   cd ..
   hg clone -r 106 current newcurrent
   cd newcurrent
   hg pull -r 97 ../current

现在newcurrent是一个回购,看起来与你的旧回购在107和108发生之前完全一样。

要合并这两者,只需执行以下操作:

代码语言:javascript
复制
   hg update  # which gets you to tip
   hg merge   # which merges in the other head and forces you to make choices

还不清楚你在创建107时做错了什么,所以我不知道如何在实践中建议改变,但这应该是一个简单的合并问题。意外地消除一个分支中的所有更改应该是hard

票数 1
EN

Stack Overflow用户

发布于 2009-12-18 21:54:23

如果可能,请备份存储库,以便您可以安全地进行实验。

此命令将撤消上一次事务:

代码语言:javascript
复制
hg rollback -h

此命令可能有助于您撤消合并和还原:

代码语言:javascript
复制
hg backout -h

此命令会将工作目录恢复到以前的状态,而不会影响存储库:

代码语言:javascript
复制
hg revert -h

每种情况下的-h选项都为您提供命令的帮助。准备好应用命令时,请删除-h选项。

我的第一个实验是:

代码语言:javascript
复制
hg rollback
hg merge -r 106

计划是返回到版本107,它看起来像是包含变更集95和96的头部的成功合并,然后在包含变更集97、100 - 106的头部进行合并。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1927669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档