1

我已经阅读了这个HG 变基教程,但仍然无法理解如何变基我的存储库。

我有这样一个顺序的变更集:

A - B - C - D - E

如何按这样的顺序重新调整它们?

A - D - E - B - C

谢谢你。

4

2 回答 2

4

你需要为此做两次变基。你需要移动 D 成为 A 的孩子,然后移动 B 成为 E 的孩子。

您应该确保在执行此操作之前进行备份,以防万一结果不如您预期。

首先你会做:

hg rebase --source D --dest A

这会给你:

A - B - C
  \ D - E

然后你会这样做:

hg rebase --source B --dest E

这会给你你想要的最终结果。

于 2013-08-12T13:46:00.787 回答
2

在您的情况下,它不是 rebase,而是重写(旧)历史

对于您的任务,您可以使用

  • Histedit Extension(Mercurial 2.3 版的一部分)(自述文件涵盖了您的用例)
  • MQ 扩展(将B - C - D - E变更集转换为 MQ 补丁,重新排序,将补丁返回到变更集状态)
于 2013-08-12T13:50:04.350 回答