Hg: как я могу направить вновь созданную ветку обратно в центральный репозиторий?
Я клонировал центральный репозиторий через
hg clone my_project my_project_1
то после переключения на вновь созданный репо я отмечен как новая ветвь
hg branch v1
Внутри нового клона я выпустил
hg ci -m "branch created"
но когда я попытался вернуть изменения в исходный репозиторий, который я клонировал из
Я получил эту ошибку:
abort: push creates new remote branches: v1!
Как я могу вставить ветку в исходный репозиторий?
Правильно ли я делаю попытку вставить ветку в исходное репо? Я просто хочу иметь централизованный репозиторий, который будет содержать ветки и из которых я могу проверить ветки.
Какой лучший способ справиться с этой проблемой?
Спасибо.
Ответы
Ответ 1
Это зависит от версии Mercurial, которую вы используете. Эта команда использовалась hg push -f ...
или hg push --force ...
, чтобы принудительно создать новую ветку в удаленном репозитории (обычно это нормально).
Однако использование -f
также позволяет создавать новые главы в удаленном репозитории (обычно не ОК), поэтому текущие версии Mercurial (1.6 и выше) имеют параметр --new-branch
для hg push
, который позволяет вам создавать ветку, но не создавать новую голову, поэтому команда:
hg push --new-branch
Вы также можете ограничить нажатие только веткой, с которой вы работаете, с флагом -b
, поэтому:
hg push --new-branch -b v1