Прежде всего, очень важно понимать, что именно делают различные команды, которые вы использовали:
pull
: получить изменения из репозитория, но не применяютсяотправить их в рабочую копию commit
: применить изменения рабочей копии к локальному каталогу push
: перенести все наборы изменений в локальном репозитории на удаленныйодин update
(который вы не использовали): обновите вашу рабочую копию до определенного набора изменений из локального репозитория
Вы заметитечто я использую два разных термина: рабочая копия и репозиторий.
В репозитории есть все доступные наборы изменений с различными ветвями, заголовками и т. д.
Рабочая копия - это файлы, которые вы на самом делесм. в проводнике, они могут находиться в совершенно ином состоянии, чем последнее изменение в хранилище.
Итак, после того, как вы сделали pull
, если вы хотите «применить» изменения к вашей рабочей копииВы должны сделать update
, Альтернативно, вы также можете du hg pull -u
.Если вы внесли некоторые изменения с момента последнего pull
, вам может потребоваться merge
вместо обновления, если вы посмотрите на документацию, на которую вы ссылались, они делают merge
(шаг 3).
Если update
был успешным, нет необходимости делать commit
, изменения уже есть в вашем локальном хранилище.Если вам нужно было сделать merge
, commit
потребуется для подтверждения внесенных вами изменений.
Относительно части push
вы создаете новые ветви, выполняя действия, указанные всообщение об ошибке.По умолчанию Mercurial не продвигает наборы изменений, создавая новые ветви, вы должны использовать указанную команду: hg push --new-branch
или выдвинуть ветку специально hg push mybranch
Надеюсь, мои объяснения достаточно ясны, в противном случае не стесняйтесь комментировать,Я также рекомендую вам прочитать руководство по Mercurial, например, следующее: http://hginit.com/