Просто объедините ваши 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
Здесь закладки использовались для обозначения различных линий в разработке. Поэтому, если вы хотите работать в новой 3-й ветке, обновитесь до masala
, если вы хотите работать в 1-й ветке, обновите до salt
и аналогично для обновления 2-й ветви до pepper
, прежде чем продолжить работу и зафиксируй.
Если вы предпочитаете работать с именованными ветвями (а не с закладками), просто введите hg branch masala
перед тем, как объединить ревизии 2 и 1.
Основное сообщение заключается в том, что, хотя у графа только одна голова, вы можете интерпретировать его как 3 различных направления развития.
Теперь, допустим, вы хотите продолжить работу во 2-й ветке, 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
Альтернативой закладкам и именованным веткам является использование разных клонов для отдельных ветвей. То есть вы клонируете свое репо с неразделенными ветвями и сливаете их в клон. Какой подход лучше, зависит от вашего рабочего процесса и личных предпочтений.