是否可以将 2 个分支合并到第 3 个新分支,而不是将一个分支合并到另一个现有分支?
问问题
1058 次
1 回答
7
只需合并您现有的 2 个分支,并将合并视为第三个新分支的尖端,将合并分支的先前负责人视为您的第一个和第二个分支:
o changeset: 3:92692c4a6b12
|\ bookmark: masala
| | summary: merge salt and pepper
| |
| o changeset: 2:a5f955adf03d
| | bookmark: pepper
| | summary: add some pepper
| |
o | changeset: 1:2b56f2dc115f
|/ bookmark: salt
| summary: add some salt
|
o changeset: 0:e992ce7dd508
summary: initial
此处的书签已用于标记开发中的不同行。因此,如果您想在新的第 3 个分支中工作,请更新到masala
,如果您想在第一个分支上工作,请更新到,并在您继续工作和提交之前salt
将第 2 个分支更新到类似的内容。pepper
如果您更喜欢使用命名分支(而不是书签),只需hg branch masala
在提交修订 2 和 1 的合并之前发出 a 。
基本信息是,虽然该图只有一个头部,但您可以自由地将其解释为 3 条不同的发展路线。
现在,假设您想继续第二个分支的工作pepper
:
$ hg up pepper
... hack ...
$ hg ci -m "need more pepper"
然后你对这salt
件事有一些想法:
$ hg up salt
... hack ...
$ hg ci -m "less salt please"
现在历史图表更清楚地显示了您的 3 个分支:
o changeset: 5:d1f8eb72119a
| bookmark: salt
| summary: less salt please
|
| o changeset: 4:acc9b01f584f
| | bookmark: pepper
| | summary: need more pepper
| |
+---o changeset: 3:92692c4a6b12
| |/ bookmark: masala
| | summary: merge salt and pepper
| |
| o changeset: 2:a5f955adf03d
| | summary: add some pepper
| |
o | changeset: 1:2b56f2dc115f
|/ summary: add some salt
|
o changeset: 0:e992ce7dd508
summary: initial
书签和命名分支的替代方法是对各个分支使用不同的克隆。也就是说,您使用未合并的分支克隆您的存储库并将它们合并到克隆中。哪种方法最好,取决于您的具体工作流程和个人偏好。
于 2011-03-22T07:32:00.647 回答