推送没有历史记录的mercurial合并分支

Dav*_*vid 8 mercurial branch

鉴于我已经在Mercurial中创建了一个分支,我如何将该分支的最终合并推送到远程存储库,而没有我如何得到该合并分支结果的历史记录.例如.

[a] - [b] -----------------[k]
     \                     /
      [g] - [h] - [i] - [j]
Run Code Online (Sandbox Code Playgroud)

[a],[b]和[k]是'默认'分支,[g]到[j]是特征分支.一旦我将功能分支合并到默认分支中,当我推送时,如何在远程存储库中只有[a] - [b] - [k]更改集?我不想简单地看不到分支,我不希望那些变更集被推送到远程存储库.我不在乎如何[k],我确实关心[k]最终结果是什么.

我目前通过克隆方法倾向于分支,但我如何通过克隆实现这一目标?是否还有一种方法可以使用命名分支来完成这项工作?

我一直在寻找这个问题的答案,但是那里有很多文件,很难在大海捞针中找到这种针.

Lau*_*lst 7

您希望将hg rebase--collapse选项一起使用,而不是合并.

hg rebase --collapse --source [g] --dest [b]
Run Code Online (Sandbox Code Playgroud)

rebase扩展随Mercurial一起提供,您只需在设置文件中启用它即可.

ps如果你已经提交了merge [k],你应该在重新定位之前先回滚(或剥离)它.