如何在不完全合并分支的情况下合并另一个分支的最新修订版?
How to merge the latest revision from another branch without merging the branches completely?
我正在使用多变的 GUI TortoiseHg。我被要求从默认工作分支转到生产分支,编写一段代码,提交并将其推送到那里,然后更新回默认分支并在那里继续我的下一个任务,因为我们将默认分支和生产分支分开。但是,还有一个请求 "merge the latest change also to default branch".
如何将最新版本也合并为默认版本,而不将两个分支合并为一个,这当然不是我想要做的?
你不能。
合并时,您始终合并到该点的完整分支,而不仅仅是单个变更集。
你有两个选择。
您可以 "graft" 或 "transplant"(取决于您使用的 Mercurial 版本)从一个分支到另一个分支的单个变更集。这将有效地(尝试)将相同的更改应用到目标分支,并记下更改的来源。这不是合并。
要使用这些功能,请先更新到您要将变更集 "merged" 放入其中的分支的尖端,然后使用 graft/transplant 命令在其上应用其他变更集。如果您使用 TortoiseHg 执行此操作,则可以右键单击您想要 "merge" 的变更集,那里应该有一个菜单项。如果不是,您可能需要启用扩展,甚至可能需要更新到 Mercurial/TortoiseHg.
的更新版本
您应该做的是更新回您最初从另一个分支创建一个分支的位置,在此基础上提交修复,然后将其合并到两个分支中。假设你真的想合并。
换句话说,你会得到这个:
A---B---C---D---E---F <-- branch 1
\
+-1---2---3---4 <-- branch 2
您会更新回 B,在 B 之上提交您的修复,然后将该变更集合并到两个分支中,如下所示:
+-C---D---E---F <-- branch 1
/
A---B---X <-- fix changeset
\
+-1---2---3---4 <-- branch 2
合并后:
+-C---D---E---F---G
/ /
A---B---X-------------+
\ \
+-1---2---3---4---5
G
和 5
是本例中的两个合并。
我正在使用多变的 GUI TortoiseHg。我被要求从默认工作分支转到生产分支,编写一段代码,提交并将其推送到那里,然后更新回默认分支并在那里继续我的下一个任务,因为我们将默认分支和生产分支分开。但是,还有一个请求 "merge the latest change also to default branch".
如何将最新版本也合并为默认版本,而不将两个分支合并为一个,这当然不是我想要做的?
你不能。
合并时,您始终合并到该点的完整分支,而不仅仅是单个变更集。
你有两个选择。
您可以 "graft" 或 "transplant"(取决于您使用的 Mercurial 版本)从一个分支到另一个分支的单个变更集。这将有效地(尝试)将相同的更改应用到目标分支,并记下更改的来源。这不是合并。
要使用这些功能,请先更新到您要将变更集 "merged" 放入其中的分支的尖端,然后使用 graft/transplant 命令在其上应用其他变更集。如果您使用 TortoiseHg 执行此操作,则可以右键单击您想要 "merge" 的变更集,那里应该有一个菜单项。如果不是,您可能需要启用扩展,甚至可能需要更新到 Mercurial/TortoiseHg.
的更新版本您应该做的是更新回您最初从另一个分支创建一个分支的位置,在此基础上提交修复,然后将其合并到两个分支中。假设你真的想合并。
换句话说,你会得到这个:
A---B---C---D---E---F <-- branch 1
\
+-1---2---3---4 <-- branch 2
您会更新回 B,在 B 之上提交您的修复,然后将该变更集合并到两个分支中,如下所示:
+-C---D---E---F <-- branch 1
/
A---B---X <-- fix changeset
\
+-1---2---3---4 <-- branch 2
合并后:
+-C---D---E---F---G
/ /
A---B---X-------------+
\ \
+-1---2---3---4---5
G
和 5
是本例中的两个合并。