Mercurial - 是否有可能在同一个回购中将更改从主干合并到分支?

Jos*_*eld 5 version-control mercurial controls version repository

Mercurial - 是否可以在同一个存储库中将更改从主干合并到分支?

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

Jer*_*rub 5

你可以做两件事,合并或移植.这些答案假设命令行,您可能需要搜索乌龟中的菜单以查找类似的功能.

您可以将所有更改从一个分支合并到另一个分支.这个过程是:

hg update mybranch
hg merge default
hg commit -m "Merging with default"
Run Code Online (Sandbox Code Playgroud)

这会将所有提交从默认提交到您的分支,但不是相反.稍后您可以通过相反的方式重新集成您的分支

hg update default
hg merge mybranch
hg commit -m "Bringing in changes from mybranch"
Run Code Online (Sandbox Code Playgroud)

如果你想引入一个或多个在另一个分支中提交的特定提交,你可以使用'移植'来实现,这是一个多变的扩展.

# reqiured in ~/.hgrc
[extensions]
transplant = 
Run Code Online (Sandbox Code Playgroud)

这些是您可以用来使用移植的命令:

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