Я пытаюсь выяснить, почему Подвижный думает, что я пытаюсь создать новое удаленное ответвление в этой ситуации:
сопроводительный текст http://a.yfrog.com/img716/8421/9vz.png
Это просто пытается сообщить мне, что ответвление обнаружится в метаданных как закрытое ответвление?
Я нахожусь на Подвижном v1.6.1023
Править: единственное ответвление по удаленному репозиторию называют "значением по умолчанию"
По умолчанию hg push
отправляет все ревизии в ваш локальный репозиторий, которых нет в удаленном репозитории. Если у вас есть изменения в локальной ветке ( Environment_Switching
в вашем случае) - даже в закрытой ветке - они тоже пойдут , если вы явно не исключите их, используя hg push -b default
(при условии, что вы не объединили эту ветвь с default
).
Чтобы ответить на ваш вопрос, это просто предупреждение о том, что вы создаете новую удаленную ветку.
РЕДАКТИРОВАТЬ: hg push -r default
и hg push -b default
эквивалентны. Из вывода для hg help revs
:
Mercurial поддерживает несколько способов указания отдельных ревизий. ... текст удален для краткости ... Имя ветки обозначает самую последнюю версию этой ветки.
Нажатие самой последней ревизии ветки также приведет к выталкиванию ее предков, которые являются остальными наборами изменений в ветке.
Да, даже ваши закрытые ветки выталкиваются, когда вы делаете hg push
. Если вы хотите вытолкнуть только ветку по умолчанию, вы можете сделать hg push -r default
, тогда вы не увидите этого сообщения.
РЕДАКТИРОВАТЬ: Неправильно понял вопрос. Ниже показано, как получить несколько голов в одной ветке.
Обычно новая голова создается, если у вас другая база, чем удаленная.
Я видел это в следующем рабочем процессе:
Пользователь A R1 фиксирует и отправляет
R1 Пользователь B тянет
Пользователь R2 А совершает и отправляет
Р? Пользователь B фиксирует и отправляет
Mercurial решит, что отправка пользователя B основана на R1, в то время как сервер находится на R2, поэтому он примет изменения пользователя B только в другой ветви.
Чтобы предотвратить это, зафиксируйте изменения пользователя B локально, затем выполните hg pull
, затем hg merge
и объедините свои изменения с удаленными изменениями.
Затем вы можете отправить свои изменения на удаленный сервер.