По умолчанию будут отправлены все наборы изменений во всех ветвях, которых еще нет в репозитории назначения.
Вы можете протолкнуть только выбранную ветку с помощью опции -b
:
# hg push --help
hg push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]
push changes to the specified destination
Push changesets from the local repository to the specified destination.
...
options ([+] can be repeated):
..
-b --branch BRANCH [+] a specific branch you would like to push
..
Примечание 1. Если вы используете phase , то специально push будет искать любые draft или public изменения, которые не являютсяв пункте назначения, и нажмите только те.Он не будет выдвигать никакие секретные изменения.После того, как они будут сдвинуты, для черновиков наборов изменений их фаза будет изменена на общедоступную.
(Возможно, вы могли бы удалить открытые наборы изменений - например, если вы явно пометили их фазу как открытую, или, возможно, если вы перешли на использованиефазы, в которых вы не использовали их ранее.)
Если вы хотите контролировать, какие наборы изменений будут добавлены, фазы - это хороший путь.По умолчанию все может быть секретным, и вы можете пометить все как черновик только тогда, когда будете готовы.Это означает, что вы всегда можете безопасно выполнить фиксацию, не рискуя протолкнуть что-то, что не готово.
# hg phase --help
hg phase [-p|-d|-s] [-f] [-r] [REV...]
set or show the current phase name
...
options ([+] can be repeated):
-p --public set changeset phase to public
-d --draft set changeset phase to draft
-s --secret set changeset phase to secret
-f --force allow to move boundary backward
-r --rev REV [+] target revision
Примечание 2. В нескольких случаях толчок может проявляться вспециальные способы.
Если у вас несколько головок в одной ветви , то, как правило, по умолчанию Mercurial будет жаловаться и ничего не нажимать.(Возможно, это не точный сценарий, о котором спрашивал ОП, но он топологически очень похож.) В этом случае каждый дополнительный заголовок является «анонимной ветвью».
По умолчанию push не позволяет создавать новые головки в пункте назначения, поскольку из-за нескольких головок неясно, какую головку использовать.
Если вам действительно нужнотолкание нескольких головок может быть сделано " с опцией -f
/ --force
, которая будет выдвигать все новые головки во всех ветвях ", которые он советует " почти всегда вызывает путаницу для соавторов".
Второй случай - это когда ветка, которую вы нажимаете, еще не существует в месте назначения.Hg потребует дополнительного толчка, чтобы подтолкнуть эту ветвь:
Используйте --new-branch, если вы хотите разрешить push создать новую именованную ветвь, которой нет в месте назначения.Это позволяет вам только создавать новую ветвь, не вызывая других изменений.
(фрагменты текста из hg push --help
)