我正在使用两个分支机构开发一个网站:开发(主动处理代码)和默认(当我们准备好上线时合并功能)。我刚刚合并了更改,并且在两个分支之间切换时收到此消息:
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
有人能指出我正确的方向吗?
答案 0 :(得分:22)
两个分支之间的差异:
hg diff -r BRANCH1:BRANCH2
在两个分支之间区分单个文件:
hg diff -r BRANCH1:BRANCH2 the_sinlge_file_to_diff
参考
答案 1 :(得分:0)
我刚刚合并了更改,并且在两个分支之间切换时收到此消息:
当您将分支合并为默认分支时,分支仍然具有前一个更改集的头部。合并提交位于默认分支上,而不是开发分支。这使您可以切换到开发分支并继续工作
所以,如果你这样做了:
# hg update default
# hg merge develop
# hg commit
......你会得到......
D1 --- D2 --- D3 --- D4
/
/
V1 --- V2 --- V3 -
D
为default
,V
为deVelop
。 D4
是合并。这是您所处的状态。当您在分支之间切换时,您可以在D4
和V3
之间切换。正在更改的一个文件是在default
分支中更改的文件。如果你继续做下去......
# hg update develop
<some work>
# hg commit develop
......你会得到......
D1 --- D2 --- D3 --- D4
/
/
V1 --- V2 --- V3 --- V4
V4基于V3,合并前开发分支的变化,而不是合并版本。
这不能回答你的差异问题,但它告诉你为什么你的分支不包含相同的东西。