Я разместил ссылку-запрос на закрытие для вероятного дубликата ( Mercurial: сделать одну ветвь идентичной другой ), но я подумал, что добавлю следующее ...
Прививкаопределенно не что вы хотите здесь.Прививка означает копирование набора изменений или некоторого количества наборов изменений из одной ветви или потока внутри ветви 1 в другую.
Можно использовать hg merge
для копированияотправка подсказок другой ветки (или любая нешаблонная фиксация) в вашу собственную ветку с помощью встроенного инструмента слияния :other
. 2 Это записывает фактическое слияние, в отличие от близкого ответа другого ответа.открыть метод.Нет особой причины отдавать предпочтение одному методу над другим.
1 Не ясно, как их вызывать. Редактировать: В документации Mercurial эти анонимные ветви называются .Вы получаете их, когда используете Mercurial более похожим на Git способом, используя закладки для отслеживания нескольких головок в пределах одной именованной ветви:
c4--c5 <-- bookmark1
/
default: c1--c2--c3 <-- bookmark2
\
c6--c7--c8 <-- bookmark3
В Git эти закладки равны ветви: постоянных веток вообще нет, и все, что вы получаете, это закладки.
(Примечание: не ясно, считает ли Mercurial c3
анонимной веткой. Commit c3
не является заголовком,и не будет отображаться в списке hg heads
, даже если у него есть закладка, идентифицирующая его. Анонимная ветвь эффективно появляется позже, если и когда вы обновите закладку, а затем создадите коммит new , перетаскивая закладкучтобы отслеживать его прогресс.)
2 Это эквивалент отсутствующей стратегии слияния Git -s theirs
.Сравните с :local
, который является эквивалентом стратегии Git -s ours
, и сопоставьте его с :merge-local
или :merge-other
, которые объединяют изменения с обеих сторон , но предпочитают нашу или их сторону для автоматическогоразрешение конфликта слияния.