![](/img/trans.png)
[英]Hg (Mercurial): any way to “set aside” the working copy for later?
[英]In Mercurial, is there any way (aside from “Cherry picking”) to push a changeset without also pushing changesets associated with a different head?
在这个问题的答案中, Ry4an声称“你不能在不推动Changeset1的情况下推动Changeset2”。
如果存储库看起来像这样,这当然有意义:
+ Changeset2
|
+ Changeset1
|
+ Original
然而,在以下场景中似乎没有那么多意义,这是我目前所拥有的:
+ Changeset2
|
| + Changeset1
| /
| /
+ Original
理想情况下,我希望能够将Changeset2推送回我最初克隆的存储库。 Mercurial似乎不愿意让我这样做。 它坚持我也推动Changeset 1 ......这是不允许的,因为它会在原始存储库中创建一个新头。 显然我可以“Cherry pick”,或者创建一个补丁来应用于原始存储库,但这看起来很笨拙。 我错过了什么吗?
更新:我可能在我最初的问题中提到我试图从TortoiseHg GUI执行操作。 作为Niall C. 在他的回答中正确地指出,Mercurial命令行允许我完成我所需要的,但是我仍然有兴趣学习是否有任何方法可以从GUI完成相同的操作。
如果你在没有任何命令行选项的情况下使用hg push
,它将尝试推送本地存储库中远程存储库中不存在的每个变更集。 如果使用-r
/ --rev
选项,它将只推送该修订版及其祖先。 在您的情况下,您需要做:
hg push --rev Changeset2
有关详细信息,请参阅hg help push
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.