Подтвердить что ты не робот

Какая разница между обновлением и тягой?

Может ли кто-нибудь уточнить, какая именно разница между командами update и pull?

Спасибо.

4b9b3361

Ответ 1

hg update: http://www.selenic.com/mercurial/hg.1.html#update

  • Обновите рабочий каталог репозитория ( "рабочая копия" ) до указанной ревизии репозитория.

hg pull: http://www.selenic.com/mercurial/hg.1.html#pull

  • Позволяет приносить изменения из удаленного репозитория

Итак, когда вы делаете hg pull, вы вносите изменения в свой репозиторий, который находится под .hg. Он не будет отображаться в вашем рабочем каталоге.

После этого, когда вы выполните hg update, изменения будут внесены в вашу рабочую копию.

Your repo                                 Remote Repo
 \                                        \
  |                hg pull                 |
  |-.hg  <-------------------------------- |-.hg
  |   |  --------------------------------> |
  |  hg update       hg push               |
  |   |                                    |
  |- working folder                        |- working folder

Это очень обычная путаница, когда вы поступаете из подрывных систем, таких как системы контроля версий.

В подрывной программе: обновление svn приведет к изменениям с центрального сервера репо на вашу рабочую копию.

Но в DVCS у вас есть как локальный репозиторий, так и рабочая копия. Таким образом, обновление делает то же самое, но переносит изменения с вашего локального репо на локальную рабочую копию.

Ответ 2

Mercurial - это распределенная система контроля версий, поэтому у вас есть вся история репо, а также ваша версия кода (так называемая "рабочая копия" ).

pull приводит к удаленным изменениям в вашем локальном репо.

update изменяет вашу рабочую копию в соответствии с последней версией вашего локального репо.

Итак, если вы клонируете удаленную ветвь и продолжаете обновление, ваш код не изменится, потому что вы никогда не загружаете удаленный код. Если вы продолжаете работать, тогда ваш код не изменится, потому что вы никогда не используете , используя удаленный код (применяя его к своей рабочей версии кода).

Ответ 3

Команда pull извлекает изменения из родительского репозитория, но фактически не вносит никаких изменений в файлы в репозитории.

Команда обновления используется для фактического обновления файлов в репозитории.

См: https://developer.mozilla.org/en-US/docs/Mercurial_FAQ#What%27s_the_difference_between_hg_pull_and_hg_update.3F