将更改从一个分支移动到另一个分支而不合并

时间:2011-10-12 20:29:43

标签: mercurial

我刚才意识到我不明白如何处理这种情况:

我有主干并建立一个新分支。我正在使用这个分支,但我还要在trunk中更改一些东西。我切换到trunk,进行更改,提交,推送。一切都还可以,但如果我想要将所有更改从trunk添加到我的分支,我需要trunk和branch分开存在。因为我没有完成分支,但那时我想从分支的新变化集成到我的分支。如果我进行合并,那么我只有一个主干或只有一个分支。 在现实生活中,我将有10-30个不同的分支,应该与主干同步。每个分支都可以在不同的时间创建,具有不同的变更集。

有简单的方法吗?

2 个答案:

答案 0 :(得分:7)

呃,不,合并的方式。您将更改从主干合并到您的分支,然后您可以继续执行主干没有问题(更新到最后一个主干变更集,然后像你一直那样提交) - 合并破坏/关闭分支。历史中的合并点是您在开发线之间移动的时间和内容的指标。

答案 1 :(得分:2)

只是添加注释和示例

  • hg glog是您最好的朋友,以便查看存储库树并找到hg up的目标
来自我的仓库的hg glog(部分)有2个活动的并行分支和进程中的合并分支

o  changeset:   62:eed6619dadb8
|  branch:      Cleanup
|  tag:         tip
|  parent:      59:c9e3b41ec78f
|  user:        Alex Bream <...>
|  date:        Thu Mar 03 19:19:34 2011 +0500
|  summary:     Зачистка по 1-1 131
|
| @  changeset:   61:e7ae9e5f725a
| |  user:        Alex Bream <...>
| |  date:        Thu Mar 03 05:40:34 2011 +0500
| |  summary:     2-9 по 2745
| |
| o  changeset:   60:1393fe759096
|/|  parent:      57:a38258cac9b8
| |  parent:      59:c9e3b41ec78f
| |  user:        Alexander <...>
| |  date:        Thu Mar 03 04:59:22 2011 +0500
| |  summary:     Merge с чистилкой
| |
o |  changeset:   59:c9e3b41ec78f
| |  branch:      Cleanup
| |  user:        Alexander <...>
| |  date:        Thu Mar 03 04:54:11 2011 +0500
| |  summary:     Зачистка пролог полностью
| |
o |  changeset:   58:f7f288c9e72b
| |  branch:      Cleanup
| |  parent:      55:acadd1e83fba
| |  user:        Alexander <...>
| |  date:        Thu Mar 03 04:50:11 2011 +0500
| |  summary:     Зачистка по 47
| |
| o  changeset:   57:a38258cac9b8
| |  user:        Alexander <...>
| |  date:        Thu Mar 03 04:37:49 2011 +0500
| |  summary:     2-9 по 2737
| |
| o  changeset:   56:c838826fadb8
|/   user:        Alexander <...>
|    date:        Thu Mar 03 04:27:40 2011 +0500
|    summary:     2-9 по 2692
|
o  changeset:   55:acadd1e83fba
|  user:        Alex Bream <...>
|  date:        Wed Mar 02 00:39:27 2011 +0500
|  summary:     2-9 по 2640
|

TortoiseHG截图的相同部分

TortoiseHG w/branches