Объяснение Git Pull

/#Git

git pull — это команда Git, используемая для обновления локальной версии репозитория с удаленного компьютера.

Это одна из четырех команд, вызывающих сетевое взаимодействие со стороны Git. По умолчанию git pull выполняет две функции.

  1. Обновляет текущую локальную рабочую ветвь (текущая проверенная ветка)
  2. Обновляет ветки удаленного отслеживания для всех других ветвей.

git pull извлекает ( git fetch ) новый коммит и объединит ( git merge ) их в вашу локальную ветку.

Синтаксис этой команды следующий:

   # Общий форматgit pull OPTIONS REPOSITORY REFSPEC # Извлечь из определенной ветки git pull REMOTE-NAME BRANCH-NAME  

, в котором:

  • OPTIONS — это параметры команды, например - quiet или - подробный . Вы можете узнать больше о различных параметрах в документации Git.
  • REPOSITORY — это URL-адрес вашего репо. Пример: https://github.com/freeCodeCamp/freeCodeCamp.git
  • указывает, какие ссылки получать, а какие локальные ссылки для обновления
  • REMOTE-NAME — это имя вашего удаленного репозитория. Например: origin.
  • — это название вашего филиала. . Например: develop.

Если у вас есть незафиксированные изменения, часть слияния команды git pull завершится ошибкой, и ваша локальная ветка останется нетронутой.

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

Оглавление

  • Использование git pull
  • Распределенный контроль версий
  • git fetch + git merge
  • git pull в IDE

Использование git pull

Используйте git pull для обновления локального репозитория из соответствующий удаленный репозиторий. Пример: работая локально на master , выполните git pull , чтобы обновить локальную копию master и обновить другой удаленный отслеживание веток. (Подробнее о ветвях удаленного отслеживания в следующем разделе.)

Но есть несколько вещей, которые нужно иметь в виду, чтобы этот пример был верным:

у локального репозитория есть связанный удаленный репозиторий.

  • Проверьте это, выполнив git remote -v
  • Если есть несколько пультов, git pull может быть недостаточно информации. Возможно, вам потребуется ввести git pull origin или git pull upstream .

Ветвь, которую вы сейчас проверяете out, чтобы иметь соответствующую ветку удаленного отслеживания

  • Проверьте это, выполнив git status . Если ветки удаленного отслеживания нет, Git не знает, откуда брать информацию из.

Распределенное управление версиями

Git — это распределенная система контроля версий (DVCS). С DVCS разработчики могут работать над одним и тем же файлом одновременно в разных средах. После передачи кода в общий удаленный репозиторий другие разработчики могут извлекать измененный код.

Сеть взаимодействия в Git

В Git есть только четыре команды, которые запрашивают сетевое взаимодействие. Локальный репозиторий не знает об изменениях, сделанных в удаленном репозитории, пока не поступит запрос информации. И удаленный репозиторий не знает о локальных изменениях до тех пор, пока не будут отправлены коммиты.

Четыре сетевых команды:

  • git clone
  • git fetch
  • git pull
  • git push

Ветви в DVCS

При работе с Git может казаться, что повсюду плавает множество копий одного и того же кода. В каждой ветке есть разные версии одного и того же файла. И разные копии одних и тех же веток на каждом компьютере разработчика и на удаленном компьютере. Чтобы отслеживать это, Git использует так называемые ветки удаленного отслеживания .

Если вы выполните git ветка - все в репозитории Git ветки удаленного отслеживания отображаются красным цветом. Это доступные только для чтения копии кода в том виде, в котором он отображается на пульте дистанционного управления. (Когда было последнее сетевое взаимодействие, которое могло принести информацию локально? Помните, когда эта информация обновлялась в последний раз. Информация в ветвях удаленного отслеживания отражает информацию, полученную в результате этого взаимодействия.)

С удаленное отслеживание веток , вы можете работать в Git в нескольких ветвях без сетевого взаимодействия. Каждый раз, когда вы выполняете команды git pull или git fetch , вы обновляете ветки удаленного отслеживания .

git fetch plus git merge

git pull — это комбинированная команда , равно git fetch + git merge .

git fetch

Сам по себе git fetch обновляет все ветки удаленного отслеживания в локальном репозитории. Фактически никакие изменения не отражаются ни в одной из локальных рабочих веток.

git merge

Без аргументов, git merge объединит соответствующую ветку удаленного отслеживания с локальной рабочей веткой.

git pull

git fetch обновляет ветки удаленного отслеживания. git merge обновляет текущую ветвь соответствующей веткой удаленного отслеживания. Используя git pull , вы получаете обе части этих обновлений. Но это означает, что если вы зарегистрированы в ветке feature и выполняете git pull при оформлении заказа на master , никакие новые обновления не будут включены. Каждый раз, когда вы оформляете заказ в другую ветку, в которой могут быть новые изменения, всегда рекомендуется выполнить git pull .

git pull в IDE

Общий язык в других IDES может не включать слово pull . Если вы ищете слова git pull , но не видите их, ищите вместо этого слово sync .

получение удаленного PR (Pull Request) в локальное репо

В целях проверки и т. д. PR в удаленном репо следует загружать в локальное репо. Для этого можно использовать команду git fetch следующим образом.

git fetch origin pull/ID/head: BRANCHNAME

ID — это идентификатор запроса на вытягивание, а BRANCHNAME — это имя ветки, которую вы хотите создать. После создания ветки вы можете использовать git checkout , чтобы переключиться на эту ветку.

Другие ресурсы на git в guide.freecodecamp.org

  • Git merge
  • Git checkout
  • Git commit
  • Git stash
  • Git branch

Если эта статья была полезной, напишите ее в Твиттере.

Научитесь программировать бесплатно. Учебная программа с открытым исходным кодом freeCodeCamp помогла более 40 000 человек получить работу в качестве разработчиков. Начать

Оцените статью
Botgadget.ru
Добавить комментарий