Альтернативой закрытию или удалению нежелательной ветви будет слияние таким образом, что полностью отбрасывает его эффекты, но оставляет в истории. Этот подход позволит распространять эти нежелательные изменения одним нажатием - поэтому используйте его только в том случае, если это намеченный эффект.
Допустим, история изменений выглядит так:
1-2-3-4-5-6
\
7-8-*
и это 5
и 6
, которые больше не нужны.
Вы можете сделать это:
hg up 8
hg merge -r 6 -t :local
hg commit ...
который создаст это:
1-2-3-4-5-6
\ \
7-8-9-*
Обновление до 8
гарантирует, что вы работаете с желаемой головой в истории, которую вы хотите сохранить.
-t :local
указывает hg использовать «инструмент» слияния, называемый local , который говорит ему игнорировать изменения из другой ветви, то есть той, которая НЕ представлена текущим состоянием рабочей папки. Подробнее .
Таким образом, нежелательные изменения в 5
и 6
сохраняются в истории, но не влияют ни на что более новое.