Подвижный - Когда использовать обновление

Когда я использую обновление по сравнению со слиянием? Если я делаю получение по запросу из удаленного репозитория, я читаю, что должен сделать обновление для получения тех изменений в мой рабочий каталог. Но времена других, я читаю, что должен сделать слияние.

Я, возможно, хочу всегда сделать обновление после получения по запросу и затем сделать слияние, только если существуют конфликты?

Что я не понимаю здесь?

16
задан Greg 23 June 2010 в 16:27
поделиться

2 ответа

Если у вас есть локальные коммиты: объедините. Если у вас есть незафиксированные локальные модификации: обновите (который будет объединен).

Обычно, когда вы делаете локальную фиксацию, дерево разветвляется при вытягивании. В этом случае вам всегда нужно выполнять слияние (или перебазирование с расширением rebase). Если у вас есть незафиксированные локальные изменения, то при извлечении вы можете обновить и объединить изменения в свое рабочее пространство.

17
ответ дан 30 November 2019 в 17:27
поделиться
  • hg update - это сделать ваш рабочий каталог таким же, как в данной ревизии
  • hg merge не переустанавливает ваш рабочий каталог на данную ревизию (он все еще ссылается на ту же самую), но объединяет изменения из другой ревизии в ваш текущий рабочий каталог.

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

hg pull -u будет вытягивать и обновлять, отказываясь сливать или перезаписывать локальные изменения.

  • Если pull добавит новый HEAD в ваше репо, вам потребуется слияние
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
  • Если pull не добавит новый HEAD в ваше репо, достаточно простого обновления
15
ответ дан 30 November 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: