首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动分支在汞中启动

移动分支在汞中启动
EN

Stack Overflow用户
提问于 2011-09-29 11:46:55
回答 1查看 708关注 0票数 3

我的问题与Mercurial move changes to a new branch相似,但并不完全相同。

我的一位同事开始研究一个新特性,并发布了一些本地提交。然后他注意到“哦,那应该进入一个有名字的分支”,于是他创造了一个分支。问题是,以前的提交应该已经在那个分支中了。所以简化的历史现在看起来有点像这样:

代码语言:javascript
复制
O 7: default
|
O 6: default
|
|  O 5: newbranch
|  |
|  O 4: default
|  |
|  O 3: default
| /
O 2: default
|
O 1: default

因此,现在默认有两个开放的头:7和4。我想去掉开放的头4,但当然,当我们将新分支合并回main时,3和4仍然合并回"main“默认(现在合并它们是不想要的,因为它会带来我们不想要的默认更改)。

问题是:处理这件事的最好方法是什么?

在5上做--close-branch,在2上创建一个新的分支,然后重新应用修改3-5?

据我所知,没有什么好办法简单地说“新分支从3开始,而不是从5开始”。

更新:,因为它已经被其他人删除了,所以我不想重新设置有问题的修订版。强迫同事重新创建/切换分支是可以的,因为这只会影响到一个人而不是5个人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-29 13:32:37

要去掉额外的默认头部,您可以:

代码语言:javascript
复制
hg update -r 4
hg commit --close-branch -m "Closed extra default head.  The changes from this branch will be merged along with 'newbranch', once it is complete."

当您最终合并newbranch时,它将包括修订版3-5,以及在5之上提交的任何其他版本。

唯一的潜在问题是,修订版3-4不会被标记为命名分支的一部分。如果这对您来说真的很重要,那么您应该关闭额外的默认头和newbranch头,重新开始使用一个根植于修订2的新分支。

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

https://stackoverflow.com/questions/7596854

复制
相关文章

相似问题

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