在mercurial如何拉?

时间:2017-06-19 11:38:11

标签: mercurial

我已经通过以下命令从bitbucket克隆了一个分支名称 abc 到我的本地:

$ hg clone -b abc https://bitbucket.org/asda/da/

接下来,我已经从 abc 分支创建了一个分支名称 xyz ,这是我的工作分支。

$ hg branch <branch name>

现在我的问题是我可以通过以下命令直接将远程 abc 的更改提取到本地 xyz

$ hg pull -b abc
$ hg update

我总是结帐 abc 分支,然后提取更改。当我拉动更改时,没有任何变化对此非常困惑。拉后它显示已更改的文件总数。但无法看到更改。

另一个问题是,如果我在分支 abc 上进行更改,当我结帐 xyz 分支时,所有更改都会在 xyz 分支中更新自动?

请帮帮我。

1 个答案:

答案 0 :(得分:1)

画出树枝的照片。当您提取新的变更集时,它们始终添加到同一分支中,并以相同的顺序添加到上游存储库中。换句话说,当您从abc拉出abc时。在拉动之前不需要切换到abc,之后不需要更新。

a--a--a--a--a1--a2
          \
           x--x--x

a =分支abc; a1,a2 = abc上的新变更集; x =分支xyz

您提取的新更改集对分支xyz的提示没有任何影响。要在分支中从中受益,请使用命令merge

hg update xyz
hg merge a2
hg commit

然后你将会到达{X},即xyz的新提示。

a--a--a--a---a1---a2
          \        \
           x--x--x--X'