Mercurial - 是否可以在同一个仓库内将主干的更改合并到分支中?

5

Mercurial - 是否可以在同一代码库中将主干的更改合并到分支中?

如果是,使用TortoiseHg是否可以实现?


1
这个问题应该发到 StackOverflow 上,它涉及到一个编程工具。 - Phil Miller
或者超级用户 - 这是一个Windows工具!或者我们需要一个新的网站。 - Andrew
2个回答

5

有两件事情可以做,合并或移植。以下答案假设您使用命令行,您可能需要在Tortoise菜单中搜索类似的功能。

您可以将一个分支的所有更改合并到另一个分支中。此过程如下:

hg update mybranch
hg merge default
hg commit -m "Merging with default"

这将把默认分支的所有提交合并到你的分支中,但反之则不然。稍后,你可以通过相反的方式将你的分支重新集成到默认分支中。
hg update default
hg merge mybranch
hg commit -m "Bringing in changes from mybranch"

如果您想将另一个分支中提交的一个或多个特定提交带入当前分支,您可以使用'Mercurial'扩展程序'transplant'来实现。

# reqiured in ~/.hgrc
[extensions]
transplant = 

以下是您可以使用的命令来使用移植功能:

hg log | less
# (find revision number, the part after the colon, i.e. "88660cca467d")
hg update mybranch
hg transplant 88660cca467d
# (no commit required)

2

正如@Jerub所说,您可以使用合并和移植来从一个分支获取变更集。使用TortoiseHg,您可以通过打开“存储库浏览器”,然后选择要合并的第一个修订版本,之后右键单击要合并的第二个修订版本来执行合并。选择“与...合并”菜单项进行合并。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接