Mercurial 摆脱水银多头
我刚开始使用hg Mercurial存储库,陷入了一个有多个头的情况。我过去也曾将代码推送到存储库中,但当前代码中也缺少它。在我看来,每当有人推他的代码时,我的默认人数就会增加,但我在其他机器上看不到这种行为。有人能帮我吗?我怎样才能摆脱这些脑袋而不失去动力Mercurial 摆脱水银多头,mercurial,mercurialeclipse,Mercurial,Mercurialeclipse,我刚开始使用hg Mercurial存储库,陷入了一个有多个头的情况。我过去也曾将代码推送到存储库中,但当前代码中也缺少它。在我看来,每当有人推他的代码时,我的默认人数就会增加,但我在其他机器上看不到这种行为。有人能帮我吗?我怎样才能摆脱这些脑袋而不失去动力 注意:我正在使用MacOSX和EclipseMercurial插件。据我目前所知,您正在推送一个存储库,其他人也在使用同一个存储库。对吗 对我来说,似乎您没有处理最新的提交,因此在当前分支上创建了多个头。注:除此之外,Mercurial的头
注意:我正在使用MacOSX和EclipseMercurial插件。据我目前所知,您正在推送一个存储库,其他人也在使用同一个存储库。对吗 对我来说,似乎您没有处理最新的提交,因此在当前分支上创建了多个头。注:除此之外,Mercurial的头部和分支之间存在一些差异 我可以想象这样的事情发生在你身上(假设我们只在一个分支上工作): 您的工作副本:
1-2-3-4-5-6 (where number is revision)
因此,您正在提交r6
,例如,两次提交7'
和8'
现在,您的工作副本如下所示:
1-2-3-4-5-6-7'-8'
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
但与此同时,您要推送/拉送的共享存储库如下所示:
1-2-3-4-5-6-7'-8'
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
现在,如果要推送到共享存储库,则会发生以下情况:
7'-8'
/
1-2-3-4-5-6-7-8-9-10
瞧,现在有两个不同的头,分别叫做8'
和10
将来,从共享存储库中首先提取并在最新提交时更新将防止出现此问题
现在,由于您的问题是如何解析多个头部,有不同的选项,对您来说最简单的是进行简单的合并
hg help merge
总的来说,这是开始/深入使用Mercurial的一个很好的资源。据我目前所知,您正在推送一个存储库,而其他人也在使用同一个存储库。对吗 对我来说,似乎您没有处理最新的提交,因此在当前分支上创建了多个头。注:除此之外,Mercurial的头部和分支之间存在一些差异 我可以想象这样的事情发生在你身上(假设我们只在一个分支上工作): 您的工作副本:
1-2-3-4-5-6 (where number is revision)
因此,您正在提交r6
,例如,两次提交7'
和8'
现在,您的工作副本如下所示:
1-2-3-4-5-6-7'-8'
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
但与此同时,您要推送/拉送的共享存储库如下所示:
1-2-3-4-5-6-7'-8'
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
现在,如果要推送到共享存储库,则会发生以下情况:
7'-8'
/
1-2-3-4-5-6-7-8-9-10
瞧,现在有两个不同的头,分别叫做8'
和10
将来,从共享存储库中首先提取并在最新提交时更新将防止出现此问题
现在,由于您的问题是如何解析多个头部,有不同的选项,对您来说最简单的是进行简单的合并
hg help merge
总的来说,这是开始/深入使用Mercurial的一个很好的资源。已经提供了一些很好的一般信息,但我将提供一些MercurialClipse的特定信息
- 理解Mercurial的关键是历史图表。(在navigator视图中,右键单击并选择Team->Show History)。请注意左边的一列,它是图形。将提交后的图形与提交前的图形进行比较。还可以比较拉之前的图形和拉之后的图形李>
- 在Mercurial中,提交变更集并不意味着其他人可以看到它。只有推送的变更集对其他人可见
- 一般来说,要解决这种情况,您应该合并所有头部(团队->合并),然后推送新的单个头部李>
- 一旦你回到一个单一的头一个人的工作流程应该
- 在同步之前,请提交更改
- 右键单击项目->团队->同步
- 在“同步”视图中,右键单击传入节点,然后选择“拉入并更新”。这将提示您与传入的更改合并
- 当您准备好推送您的更改时(您应该有一个head,传入中没有任何内容),您可以通过右键单击传出节点在同步视图中进行推送。推送变更集将推送所有祖先
- 理解Mercurial的关键是历史图表。(在navigator视图中,右键单击并选择Team->Show History)。请注意左边的一列,它是图形。将提交后的图形与提交前的图形进行比较。还可以比较拉之前的图形和拉之后的图形李>
- 在Mercurial中,提交变更集并不意味着其他人可以看到它。只有推送的变更集对其他人可见
- 一般来说,要解决这种情况,您应该合并所有头部(团队->合并),然后推送新的单个头部李>
- 一旦你回到一个单一的头一个人的工作流程应该
- 在同步之前,请提交更改
- 右键单击项目->团队->同步
- 在“同步”视图中,右键单击传入节点,然后选择“拉入并更新”。这将提示您与传入的更改合并
- 当您准备好推送您的更改时(您应该有一个head,传入中没有任何内容),您可以通过右键单击传出节点在同步视图中进行推送。推送变更集将推送所有祖先