Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 摆脱水银多头_Mercurial_Mercurialeclipse - Fatal编程技术网

Mercurial 摆脱水银多头

Mercurial 摆脱水银多头,mercurial,mercurialeclipse,Mercurial,Mercurialeclipse,我刚开始使用hg Mercurial存储库,陷入了一个有多个头的情况。我过去也曾将代码推送到存储库中,但当前代码中也缺少它。在我看来,每当有人推他的代码时,我的默认人数就会增加,但我在其他机器上看不到这种行为。有人能帮我吗?我怎样才能摆脱这些脑袋而不失去动力 注意:我正在使用MacOSX和EclipseMercurial插件。据我目前所知,您正在推送一个存储库,其他人也在使用同一个存储库。对吗 对我来说,似乎您没有处理最新的提交,因此在当前分支上创建了多个头。注:除此之外,Mercurial的头

我刚开始使用hg 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,传入中没有任何内容),您可以通过右键单击传出节点在同步视图中进行推送。推送变更集将推送所有祖先

已经给出了一些很好的一般信息,但我会给出一些MercurialClipse的具体信息

  • 理解Mercurial的关键是历史图表。(在navigator视图中,右键单击并选择Team->Show History)。请注意左边的一列,它是图形。将提交后的图形与提交前的图形进行比较。还可以比较拉之前的图形和拉之后的图形
  • 在Mercurial中,提交变更集并不意味着其他人可以看到它。只有推送的变更集对其他人可见
  • 一般来说,要解决这种情况,您应该合并所有头部(团队->合并),然后推送新的单个头部
  • 一旦你回到一个单一的头一个人的工作流程应该
    • 在同步之前,请提交更改
    • 右键单击项目->团队->同步
    • 在“同步”视图中,右键单击传入节点,然后选择“拉入并更新”。这将提示您与传入的更改合并
    • 当您准备好推送您的更改时(您应该有一个head,传入中没有任何内容),您可以通过右键单击传出节点在同步视图中进行推送。推送变更集将推送所有祖先