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

Зачем мне нужно обновление hg после hg pull, а в git я делаю только git pull

В git, чтобы вытащить и использовать последние изменения в моем локальном репозитории, я использую git pull.

В hg я также использую hg pull, но затем он печатает

запустите 'hg update', чтобы получить рабочую копию

Я запускаю hg update, но мне интересно, почему это отличие от git?

4b9b3361

Ответ 1

Другие ответы на самом деле не отвечают на вопрос, а именно: почему бы не Git и Mercurial работать одинаково? Есть ли философская разница?

В Mercurial pull противоположно push: он синхронизирует локальное репо с удаленным репо, не касаясь рабочей копии. Поэтому он более последователен.

В Git, pull есть fetch плюс a merge, или pull плюс an update в терминах Mercurial. Обычно это то, что вы хотите. Поэтому он более эффективен.

Диспетчер распределенной версии Control University имеет слайд на 4- минутной отметки, которая наглядно демонстрирует, как работает Mercurial. Michael Ernst Концепции управления версиями и лучшие практики имеет аналогичную диаграмму (см. Ниже):

Distributed version control

Ответ 2

Потому что git pull выполняет внутренние операции git fetch и git merge, тогда как hg pull выполняет только то, что делает git fetch. Просто сделайте hg pull -u. См. Также эту таблицу эквивалентности команд.

Ответ 3

Чтобы получить эквивалентную функциональность git, активируйте расширение Mercurial (в комплекте с дистрибутивами Mercurial), см. расширение fetch. Он выполнит hg pull -u.