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/5/date/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
Mercurial一头,两个偏差_Mercurial_Merge_Branch - Fatal编程技术网

Mercurial一头,两个偏差

Mercurial一头,两个偏差,mercurial,merge,branch,Mercurial,Merge,Branch,我遇到了一个有趣的情况,我不知道如何描述。所以我这里是它的一个屏幕截图(注意,两个程序员在这里使用一个中央存储库,两者都与同步): 左边的图像更新到另一个程序员的核心(现在是头部),右边的图像在合并到开发之前更新到我的核心 如您所见,我有一个Core分支#372合并到Dev。另一个程序员忘了合并我在#372上的更改(在375及以后的更改之前,我已经将其推送到了中央存储库),然后继续 现在我有一个核心分支合并到了dev中,有点左无头。另一个程序员的核心现在将是我要开始的。这不是问题。问题是看到两

我遇到了一个有趣的情况,我不知道如何描述。所以我这里是它的一个屏幕截图(注意,两个程序员在这里使用一个中央存储库,两者都与同步):

左边的图像更新到另一个程序员的核心(现在是头部),右边的图像在合并到开发之前更新到我的核心

如您所见,我有一个
Core
分支
#372
合并到
Dev
。另一个程序员忘了合并我在
#372
上的更改(在375及以后的更改之前,我已经将其推送到了中央存储库),然后继续

现在我有一个核心分支合并到了dev中,有点左无头。另一个程序员的核心现在将是我要开始的。这不是问题。问题是看到两个核心和混乱的树,以及混乱的分支


我能做些什么,最终只得到一个核心分支?或者这样可以吗?

现在,
Core
实际上有0个拓扑头,因为变更集381和372都与
dev
合并。在您的图形中,您可以看到从变更集372延伸出来的那条长线,因为您的工作目录现在位于该变更集上。该行表示您所做的任何提交都将是372的子项。另一个程序员的工作目录位于变更集381上,这就是为什么他的图形看起来不同。一旦您更新到381,您的图形将与另一个图形相同


因此,为了回答您的问题,这不会是一个问题,因为
Core
的分支头都已合并到dev中。此外,如果您最终在
Core
上有多个拓扑头,mercurial会在您引入新头时警告您。

现在,
Core
实际上有0个拓扑头,因为变更集381和372都与
dev
合并。在您的图形中,您可以看到从变更集372延伸出来的那条长线,因为您的工作目录现在位于该变更集上。该行表示您所做的任何提交都将是372的子项。另一个程序员的工作目录位于变更集381上,这就是为什么他的图形看起来不同。一旦您更新到381,您的图形将与另一个图形相同

因此,为了回答您的问题,这不会是一个问题,因为
Core
的分支头都已合并到dev中。此外,如果您在
Core
上有多个拓扑头,mercurial会在您引入新头时警告您

正如您所看到的,我有一个核心分支#372合并到了Dev中。另一个程序员忘记了合并我在#372的更改(在375及以后的更改之前,我已经将其推到了中央存储库),然后继续

那不是我看到的#372是双方#373的父母。如果删除#381+和#372+,则这两个图形是相同的。因为当前工作副本的父对象不同,所以它们的绘制方式也不同

当然,这看起来有点奇怪,但这里没有问题。在#372+被提交后,它将需要在某个时候与#381合并(或者无论当前的核心负责人是什么),但这并不例外

正如您所看到的,我有一个核心分支#372合并到了Dev中。另一个程序员忘记了合并我在#372的更改(在375及以后的更改之前,我已经将其推到了中央存储库),然后继续

那不是我看到的#372是双方#373的父母。如果删除#381+和#372+,则这两个图形是相同的。因为当前工作副本的父对象不同,所以它们的绘制方式也不同


当然,这看起来有点奇怪,但这里没有问题。在#372+被提交后,它将需要在某个时候与#381(或者无论当前的核心负责人是什么)合并,但这并不例外。

如果我对372+没有任何更改,我应该保持原样吗。然后,如果我以后有一些
core
更改,我应该从372+还是381+开始?我想再回到一个核心分支。我是否需要在372+中明确地做一些更改,以便将其与核心头合并?如果我的措辞令人困惑,我深表歉意,因为我自己也很困惑!好吧,那就是你还没有更新到最新的代码
hg update Core
将在
Core
分支中将您的工作副本更新为最新版本#372+将不再存在(它实际上并不存在,它是你用来绘制图形的任何工具的人工制品)。我认为你最终的修订取决于#382中的合并是如何完成的,以及这是现在的核心负责人还是#381。如果372+中没有任何更改,我应该保持原样吗。然后,如果我以后有一些
core
更改,我应该从372+还是381+开始?我想再回到一个核心分支。我是否需要在372+中明确地做一些更改,以便将其与核心头合并?如果我的措辞令人困惑,我深表歉意,因为我自己也很困惑!好吧,那就是你还没有更新到最新的代码
hg update Core
将在
Core
分支中将您的工作副本更新为最新版本#372+将不再存在(它实际上并不存在,它是你用来绘制图形的任何工具的人工制品)。我认为你最终的修改将取决于#382中的合并是如何完成的,以及这是现在的Core负责人还是#381负责人。下面保罗和大卫的回答都很好地解释了上面非常正常的事情。在Mercurial上下文中,通过谷歌搜索了解术语“头”和“拓扑头”之间的区别,以及“命名分支”和“匿名分支”之间的区别,你会没事的。与相比,尝试
hg头--topo