Aco*_*orn 5 mercurial branching-and-merging
有可能,而不是将一个分支合并到另一个现有分支,将2个分支合并到第3个新分支中吗?
只需合并您现有的2个分支,并将合并视为第3个新分支的提示,并将合并分支的前一个分支视为您的第1和第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
Run Code Online (Sandbox Code Playgroud)
这里的书签用于标记开发中的不同行.因此,如果您想在新的第3分支masala中工作,请在继续工作和提交之前更新到,如果您想要在第一个分支上工作,请更新到salt第二个分支更新,并且类似pepper.
如果您更喜欢使用命名分支(而不是书签),只需hg branch masala在提交修订版本2和1的合并之前发出一个.
基本信息是,虽然图表只有一个头,但您可以自由地将其解释为3个不同的开发线.
现在,假设你想继续第二个分支的工作,pepper:
$ hg up pepper
... hack ...
$ hg ci -m "need more pepper"
Run Code Online (Sandbox Code Playgroud)
然后你对这salt件事有一些想法:
$ hg up salt
... hack ...
$ hg ci -m "less salt please"
Run Code Online (Sandbox Code Playgroud)
现在,历史图表更清楚地显示了您的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
Run Code Online (Sandbox Code Playgroud)
书签和命名分支的替代方法是为各个分支使用不同的克隆.那就是你用未合并的分支克隆你的repo并将它们合并到克隆中.哪种方法最好,取决于您的具体工作流程和个人喜好.