0

我在同一个项目中有 2 个用户和 2 个分支(b1 和 b2)。每个用户都使用自己的分支。当我尝试将这些合并在一起时,比如说,在“稳定”分支中 - 我没有任何效果。

现在我在自己的分支 (b1) 中,并执行以下操作:

hg branch stable //As I can understand - this is creates new branch, named "stable"
hg commit 
hg push //To make affect to bitbucket.

所以,此时此刻,“stable”和“b1”是一回事。我对吗?接下来我应该合并 b2 和 stable。我这样做:

hg branch //to make shure, that I'm in "stable"
hg merge b2
hg commit
hg push

但!之后,如果我输入hg update b2mercurial 告诉我,那 33 个文件更新了!实际上,分支没有合并!

我做错了什么?

4

2 回答 2

0

如果您查看存储库的图表,它将看起来像这样。

B1     o----o---B1
                  \
Stable             o----S
                       /
B2     o----o---o----B2
  • S是修订hg update stable会带你去。
  • B1是修订hg update b1会带你去。
  • B2是修订hg update b2会带你去。

hg branches将为您提供每个分支机构负责人的列表。

当您更新到b2您将回到合并前的版本时。完全允许:

hg update b2
<do some work>
hg commit

...你最终会得到:

B1     o----o---B1
                  \
Stable             o----S
                       /
B2     o----o---o-----o----B2

同样,您可以继续使用b1

像这样想。您在stable并将更改合并b2到中stable,但您没有合并stableb2. b2分支未修改。

于 2013-04-15T17:44:42.243 回答
0
  1. 额外的分支是没用的——你总是可以使用现有的“默认”
  2. 在真正合并之前,将分支头与差异进行比较以查看更改(并在此处显示差异,如果需要,还可以完全合并输出)

常见的合并工作流程将是

  • hg up default
  • hg merge b1
  • ... 解决冲突(如果需要)
  • hg commit -m "Merged b1"
  • hg merge b2
  • ... 解决冲突(如果需要)
  • hg commit -m "Merged b2"
于 2013-04-15T00:44:08.767 回答