Mercurial - закрыть ветку по умолчанию и заменить именованный филиал как новый по умолчанию
В меркуриальном репо филиал "по умолчанию" упал очень устаревшим до такой степени, что уже не имеет смысла сливаться в изменениях от "разработки", именованной ветки с последней развернутой версией приложения,
Вместо того, чтобы слияние развивается в дефолт, как я могу закрыть текущую ветку по умолчанию, а затем создать новую ветку по умолчанию, используя голову от разработки?
Я видел несколько других вопросов и ответов, которые похожи, возможно, то же самое, но мне все еще трудно понять, как это должно работать.
Спасибо!
Ответы
Ответ 1
Если default
несколько отклонился от develop
, и вы хотите, чтобы default
был точно таким же, как develop
после слияния, вам нужен немного другой набор команд из того, что вам дал Эдвард (это также будет где develop
является прямым потомком default
).
hg update -C default
hg -y merge --tool internal:fail develop
hg revert --all --no-backup -r develop
hg resolve --all --mark
hg commit -m "merge updating default to current develop"
Это означает, что любые конфликты приведут к неразрешенному слиянию. Затем вы возвращаете все так же, как на ветке develop
(без резервного копирования, чтобы вы не оставили много файлов .orig).
Ответ 2
На основании вашего комментария о том, что не требуется закрывать ветвь, выполните ряд шагов, которые должны получить ветвь по умолчанию в соответствии с веткой разработки:
-
hg update default
-
hg merge --tool internal:other
- для объединения при привилегировании ветки разработки
-
hg diff -r develop
- сравните с разработчиком, чтобы убедиться, что у вас есть точная копия.
-
hg commit -m "merge updating default to current develop"
Как только вы закончите, вы должны иметь обновленный по умолчанию, который отражает ветвь разработки, возвращая их в синхронизацию.
Ответ 3
Я думаю, что лучше использовать концепцию в Tortoisehg, чтобы объяснить, как она работает.
-
hg update
для разработки ветки
- выберите заголовок ветки по умолчанию и выберите слияние с локальным
- затем выберите отменить все изменения из цели слияния (другие), таким образом, значение по умолчанию сливается в разработку, не затрагивая разработку
- затем перейдем по умолчанию из главы разработки, используйте
hg branch default
, снова перезагрузите снова