git pull fetch разница

Разберёмся, чем отличаются команды git pull и git fetch .

При использовании pull , git пытается сделать всё за вас. Он сливает любые внесённые коммиты в ветку, в которой вы сейчас работаете. Команда pull автоматически сливает коммиты, не давая вам сначала просмотреть их. Если вы не пристально следите за ветками, выполнение этой команды может привести к частым конфликтам.

При использовании fetch , git собирает все коммиты из целевой ветки, которых нет в текущей ветке, и сохраняет их в локальном репозитории. Однако он не сливает их в текущую ветку. Это особенно полезно, если вам нужно постоянно обновлять свой репозиторий, но вы работаете над функциональностью, неправильная реализация которой может негативно сказаться на проекте в целом. Чтобы слить коммиты в основную ветвь, нужно использовать merge .

Грубо говоря, по дефолту git pull — это шоткод для последовательности двух команд: git fetch (получение изменений с сервера) и git merge (сливание в локальную копию).

Ещё не знакомы с git? Тогда посмотрите наше руководство для новичков, а также подборку ресурсов для продолжения знакомства с инструментом.

Прежде чем перейти к разнице между git fetch и git pull, давайте поймем, что git является первым.

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

GitHub — самый популярный и широко используемый веб-репозиторий git. Fetch and Pull — две самые основные команды, которые помогут вам с Git и управлять репозиториями git.

Что такое Git Fetch?

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

Каждый раз, когда вы совершаете или делаете некоторые изменения в исходном коде, Git берет снимок всех файлов / кодов в этот момент и сохраняет их в качестве ссылок.

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

Когда вы используете команду git fetch, вы просто хотите получить изменения, сделанные в удаленном репозитории, и сохранить их на своем локальном компьютере.

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

Что такое Git Pull?

Команда Git pull используется для загрузки изменений репозитория Git из удаленного репозитория и объединения этих изменений в ваш локальный репозиторий.

Pull — это в основном git fetch, за которым следует значение git merge после успешного извлечения изменений из удаленного репозитория, вы можете объединить его с вашей локальной ветвью, используя регулярное слияние git.

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

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

Разница между Git Fetch и Git Pull

Основы Git Fetch и Git Pull

Git fetch и Git pull — две наиболее важные команды, используемые для эффективного управления репозиториями git. Хотя обе команды используются для загрузки новых данных из удаленного репозитория, они делают это с очень разными целями. Хотя «git fetch» ​​используется для получения последних изменений, сделанных в удаленном репозитории, он не объединяет эти изменения с вашим местным репозиторием.

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

Цель Git Fetch и Git Pull

Git fetch — это безобидная команда, используемая для загрузки и просмотра последних коммитов, сделанных другими людьми из ветвей удаленного отслеживания, но без объединения этих коммитов в ваш локальный репозиторий. Он захватывает изменения из удаленного репозитория и сохраняет их в вашем локальном репозитории.

Git pull — сокращение для git fetch, за которым следует git merge, который автоматически объединяет коммиты в ваш локальный репозиторий без проверки коммитов.

Цели Git Fetch и Git Pull

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

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

Использование Git Fetch и Git Pull

Команда Fetch полезна, когда вы хотите увидеть, что все остальные работают, что упрощает вам просмотр коммитов, продвигаемых другими разработчиками, прежде чем интегрировать изменения в локальный репозиторий. Вы можете сделать это, используя команду «git fetch », Который захватывает все ветви из удаленного хранилища.

Вы можете выполнить pull, используя команду «git pull », Который извлекает удаленную копию ветки и объединяет ее с вашей локальной копией. Это точно так же, как с помощью команды «git fetch «, За которым следует» git merge ”.

Git Fetch vs. Git Pull: Сравнительная таблица

Резюме стихов Git Fetch Git Pull

В основном git pull — git fetch, за которым следует git merge. Git fetch — это базовая команда, используемая для получения последних обновлений из хранилища git, когда вы работаете в команде, и вы хотите знать, что работает над каждым другим разработчиком, и то, что они совершают, пересылаются в удаленный репозиторий.

В основном то, что вы делаете, это выбор изменений в коде / файлах из удаленной ветви, которая держит вас в курсе всех остальных, не мешая вашей рабочей копии. Запрос git pull — это то, что вы делаете, чтобы обновить локальный репозиторий с изменениями из удаленного репозитория.

Проще говоря, fetch загружает все материалы с удаленного на локальный ветвь, прежде чем интегрировать их с центральным репозиторием, тогда как git pull выталкивает операции извлечения и слияния в одну команду.

Добрый день. Подскажите пожалуйста, какая разница между git pull и git fetch ? Пользуюсь SourceTree, но недавно решил пересесть на консольный Гит.

1 ответ 1

git pull — это, по сути, команда git fetch , после которой сразу же следует git merge .

git fetch получает изменения с сервера и сохраняет их в каталог refs/remotes/ .
Это никак не влияет на локальные ветки и текущие изменения. А git merge уже вливает все эти изменения в локальную копию.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

Оцените статью