Разница между клонированием и вытягиванием в Mercurial - PullRequest
2 голосов
/ 27 октября 2011

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


Команда, работающая над некоторым приложением, а затем новый пользователь, скажем, user2, назначенный этому приложению компаниейклонирование существующего репо или извлечение существующего репо для новой записи (user2), какой из 1 лучше?сравнение ч / б клон / тяга

Ответы [ 4 ]

7 голосов
/ 08 ноября 2011

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

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

Вы также можете выполнить шаги для клонирования вручную, что дает точно такой же эффект (но просто сделать hg clone https://url_to_remote проще):

  • создать новую папку на локальном компьютере
  • создать в папке пустой репозиторий (hg init)
  • вытащить все из удаленного хранилища (hg pull https://url_to_remote)
  • обновить вашу рабочую копию (hg update)
1 голос
/ 10 ноября 2011

Эти 2 команды совершенно разные:

  • Клон создает новый репозиторий
  • Pull обновления существующий репозиторий , приносящий изменения от другого клона

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

0 голосов
/ 07 ноября 2011

Когда вы клонируете репозиторий, а затем делаете новую копию, это может быть дорогостоящим процессом.Кроме того, если вы используете только клон, то вы рискуете потерять любые локальные изменения, которые вы могли внести.

  • Вы можете думать о клонировании как о копировании всего каталога

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

  • Вы можете думать о вытягивании как о просто обновлениифайлы, которые изменились

Я рекомендую вам пройти этот урок: http://hginit.com/

0 голосов
/ 27 октября 2011
  • клон - это первая «проверка» источника
  • pull - загрузка сервера "Head" /
...