繁体   English   中英

水银分支和合并,而无需推送分支

[英]Mercurial branching and merging without having to push branch

这是我想要做的:

  1. 汞克隆http://www.my_repo.com
  2. hg分支new_branch
  3. hg update new_branch #移至新分支
  4. 在分支代码中进行一些更改
  5. hg commit -m'分支new_branch中的更改'
  6. hg update default #返回默认分支
  7. hg merge new_branch #将new_branch合并为默认值以在默认值中添加更改
  8. hg commit -m“合并”
  9. 汞推

但是在这一点上,mercurial迫使我执行hg push --new-branch将分支添加到远程存储库。 我不希望该仓库中的分支,我只想在本地创建一个分支,执行我想做的所有更改,然后当我准备合并,移动到默认设置,拉取和更新默认设置(其他任何更改)时可能会在默认值上添加更改),最后将我的分支合并到默认值中,并使new_branch消失,因为一旦合并到默认值后,我将不再需要它。

我做错了,如果您没有注意到,我来自git。

对于您正在做的事情,您想要一个“书签”而不是“分支”。 在Mercurial中,一个分支称为“命名分支”,每个变更集都在一个且只有一个命名分支上。 该分支名称是提交的一部分,并包含在提交的哈希中。 创建带有特定分支名称的提交后,如果没有该分支名称,就无法推送它们(或它们的后代)。

另一方面,书签只是指向提交的指针。 它会在提交时继续前进-换句话说,就像git所说的分支一样( 咳嗽将20年的术语扔到了窗外:)。

在上面的命令中用书签替换分支,一切将完全按照您的想象进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM