如何删除龟龟HG中的“分支”

时间:2012-10-31 20:37:23

标签: branch tortoisehg

我意外地更新到以前的版本,并在默认分支下从它提交,导致默认分支下的2个头。我想将其中一个头移到另一个分支。我想要移动的这个头是几个交易前做的。如何更改它所属的分支,以便我可以在没有强制推动的情况下将另一个头推到服务器上?

到目前为止,我还没有向服务器推送任何东西。如果归结为它,我可以复制我需要的文件并重新放入存储库。

2 个答案:

答案 0 :(得分:0)

您可以使用 rebase 扩展名重写历史记录。它已经安装,你只需要启用它(来自文件>设置> tortoise in toGot)。在tortoiseHG内部,如果右键单击修订版,可以找到它,转到“修改历史记录”,然后选择“rebase”。但是为了更多的控制,我建议你去命令行。

假设您有一个修订版w,它是默认分支的新头。 (w可能有后代会随之移动。)

-o-o-o-o
    \
     w

其父级应该在另一个分支(未显示)中进行了一些修订b。只需输入:

hg rebase --source w --dest b --detach

就是这样!它会重新定义w及其所有后代(如果有的话),以便它的新父级为b。除非您添加b,否则它将被分配到与--keepbranches相同的分支名称。标记--detach可确保在某些情况下不会出现复杂的拓扑结构。

答案 1 :(得分:0)

  1. 衍合
  2. 移植(搬到新地方)+ Histedit(杀死旧的变更集)
  3. MQ,如果你知道的话(将cset转换为MQ补丁,更新为新的父,qpop,qfinish)