создание новой ветви в mercurial: "abort: push создает новую удаленную головку"
Я пытаюсь сделать что-то очень простое: создать новую ветку. Но я все испортил. Где я допустил ошибку и как ее исправить?
Я единственный пользователь Mercurial. У меня была исправлена ревизия 54 и отправлена в удаленный репозиторий. Я хотел создать ветку на основе версии 53, поэтому я обновил свою локальную копию до версии 53, внес изменения и зафиксировал (игнорируя предупреждение "это не голова"). Затем, когда я пытаюсь нажать на удаленный репозиторий, он говорит
abort: push creates new remote head
может быть, мне нужно было сказать Mercurial, что я хочу создать новую ветку? Если да, то как и в какой момент?
спасибо!
3 ответов
вы говорите Mercurial, что он может идти вперед с
$ hg push --force
вам нужно заставить его, так как несколько (неназванных) голов обычно не поощряются. Проблема с ними в том, что люди, которые клонируют репозиторий, не знают, какой из них использовать. Но так как вы единственный пользователь, вы можете просто пойти вперед и нажать.
альтернативой является использование имени филиала (С hg branch
), а затем вы будете использовать
$ hg push --new-branch
разрешить создание новой ветви на дистанционный. имени отделения имейте преимущество что они делают его легким различить 2 ветви. Их недостаток в том, что они постоянны. Постоянное означает, что вы не можете удалить имя ветви из наборов изменений на ветви - имя буквально запечено непосредственно в наборе изменений.
закладки С помощью непостоянных именах ветку, вижу hg help bookmarks
.
еще одна причина этой ошибки: вероятно, есть некоторые несогласованные изменения формы Центрального РЕПО в вашей ветви по умолчанию.
hg up default
hg merge
hg ci -m "Merge"
hg pus
Я сделал это. С Помощью TortoiseHg ... вот как я это исправил:
в настройках я включил расширение полосы, затем щелкнул Правой Кнопкой Мыши ветку, которую я не хотел, изменил историю-полосу. Если вы нажали, то его нужно удалить из всех других репозиториев, включая товарищей по работе, которые вытащили вашу нежелательную ветку.
альтернативой является объединение нежелательной ветви в вашу основную ветвь, но не принимайте никаких изменений из этой ветви - я не уверен, как этот механизм работает.