14

我正在使用两个分支在网站上工作:开发(用于积极处理代码)和默认(当它们准备好上线时我在其中合并功能)。我刚刚合并了更改,并且在两个分支之间切换时收到了此消息:

1 files updated, 0 files merged, 0 files removed, 0 files unresolved

我已经跑去hg status --rev default:develop弄清楚它指的是哪个文件,但我无法弄清楚有什么不同。

这是我到目前为止所尝试的:

hg diff --rev default:develop
hg diff --rev default:develop file.php

有人能指出我正确的方向吗?

4

2 回答 2

25
  1. 两个分支之间的差异:

    hg diff -r BRANCH1:BRANCH2

  2. 在两个分支之间区分单个文件:

    hg diff -r BRANCH1:BRANCH2 the_sinlge_file_to_diff

参考

于 2014-07-25T08:02:20.870 回答
0

我刚刚合并了更改,并且在两个分支之间切换时收到了此消息:

当您将分支合并到默认分支时,该分支仍然在先前的更改集中具有它的头部。合并提交在默认分支上,而不是在开发分支上。这使您可以切换到开发分支并继续工作

所以如果你这样做了:

# hg update default
# hg merge develop
# hg commit

......你会得到......

D1 --- D2 --- D3 --- D4
                   /
                  /
V1 --- V2 --- V3 -

DdefaultVdeVelopD4是合并。这就是您所处的状态。当您在分支之间切换时,您会在D4和之间切换V3。正在更改的一个文件是在default分支中更改的文件。如果你然后继续做...

# hg update develop
<some work>
# hg commit develop

......你会得到......

D1 --- D2 --- D3 --- D4
                   /
                  /
V1 --- V2 --- V3 --- V4

V4 是基于 V3 的,合并前开发分支上的变化,不是合并后的版本。

这不能回答你的差异问题,但它会告诉你为什么你的分支不包含相同的东西。

于 2013-05-28T07:59:54.693 回答