对于Mercurial,我们可以推出一些变更集而不是推动一些变更集吗?

nop*_*ole 30 mercurial

如果我们多次提交,例如,我们的本地仓库,修订版3000,3001,3002,3003.如果我们推送到远程仓库,它将推动3000到3003.有没有办法只推3000和3001?

Woo*_*ble 39

是的,您可以选择要推送的修订版. hg push -r 3001(将推送所选修订版的所有祖先;您不需要指定3000.)

  • 另外,如果使用togise hg:点击'检测外发更改集'后,右键单击要推送的修订版,然后单击推 - >推选所选分支 (2认同)

Nic*_*int 9

如果您需要在没有所有祖先的情况下推送一些变更集(@ Woolble的答案中描述的解决方案),一个好的选择是使用Mercurial Queues扩展(MQ).

https://www.mercurial-scm.org/wiki/MqExtension

这将允许您重新排序甚至组合变更集,以便您可以按照您喜欢的顺序推送它们.开始需要一些工作,但你会发现它值得付出努力.

我有TortoiseHg使得使用MQ非常简单.


Mat*_*ius 8

对于那些使用UI和类似图片的人:

  1. 在TortoiseHg中单击Detect outgoing changes to按钮. 在此输入图像描述

  2. 在要推送的修订版上单击鼠标右键.

  3. 选择Push -> Push to Here. 在此输入图像描述

结果:您将仅推送选定的版本而不是所有内容. 在此输入图像描述

希望这能为您节省一些时间.