Git Pull

Автор: | 13.12.2020

В последнем уроке мы познакомились с командой Git fetch и командой Git merge. Обе широко распространены в Git, и используются очень часто. Git fetch и Git merge используются вместе для объединения изменений и их принятия. Проблема в том, что если пользователь использует Git fetch десять раз в день и все изменения должны быть объединены, то git merge также используется десять раз. Есть ли что-то, что может объединить оба этих процесса? Да, конечно, есть. Команды Git fetch и Git merge настолько часто используются, что у Git есть специальная команда, которая объединяет обе эти команды в одну команду, называемую командой Git Pull.

Что такое Git Pull?

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

Git Pull выполнит Git Fetch, не сообщая пользователю, и объединит изменения автоматически, не спрашивая у пользователя.

git_pull

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

Читайте также: Git Push – вносим изменения на GitHub

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

Побочным эффектом или предупредительным механизмом, который эта команда приносит с собой, является “слияние-конфликт.” Git pull иногда вызывает предупреждение о “слиянии-конфликте” в Git.

Как использовать команду Git Pull?

Мы можем использовать команду Git pull, введя следующую команду в Git Bash.

Git pull

git_pull_command

Обратите внимание на 2 раздела на изображении выше.

Первый раздел имеет тот же вывод, что и команда git fetch (см. команду Git Fetch), тогда как второй раздел имеет тот же вывод, что и команда git merge. Это доказывает, что git pull-это сплав команды git fetch и git merge, и ее следует использовать осторожно.

Когда использовать Git Pull?

Пользователь может задаться вопросом, когда он должен использовать Git fetch и когда он должен перейти к команде Git pull. Git fetch часто считается более безопасной версией Git Pull, и ее следует использовать, если пользователь новичок в Git. Если пользователь достаточно уверен в себе, он может использовать команду git pull только в чистом рабочем каталоге (без зафиксированных изменений).

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

Использование команды Git pull ничем не отличается от использования команды Git merge. Просто имейте в виду, что git pull-это короткий путь к git fetch и git merge. Это означает, что нам не нужно выполнять git fetch и git merge, и изменения будут включены непосредственно.

Опции в Git Pull

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

No-Commit

Опция no-commit будет извлекать изменения, но слияние не будет явной фиксацией, то есть фиксация слияния не будет указана в списке.

git pull –no-commit

git pull –no-commit

Rebase

Опция rebase создает линейную историю коммитов после слияния одной ветви в другую. В дополнение к этому, опция Git rebase помогает в прозрачном рабочем процессе. Более того, несмотря на то, что она включает в себя несколько ветвей, она выглядит как одна ветвь с линейным рабочим процессом.

Git Branches перед Rebase

Git Branches перед Rebase

Git Branches после Rebase

Git Branches после Rebase

Команда может выполняться следующим образом:

git pull –rebase

Недостатком использования команды Git rebase является то, что она затрудняет разработчикам и тестировщикам распознавание небольших коммитов и изменений, сделанных в репозитории, поскольку история коммитов становится линейной. Проекты с открытым исходным кодом часто не используют команду «rebase» по этой причине, но, как всегда, дело зависит от личного выбора.

Общие вопросы по Git Pull

Почему мы обычно пишем команду git pull как git pull origin master?

‘git pull origin master’ будет извлекать и обновлять только определенную ветвь под названием master и origin в удаленном репозитории. Часто ветвь по умолчанию в Git является главной ветвью, и она постоянно обновляется. Пользователь может использовать любое имя ветви для извлечения этой ветви с пульта дистанционного управления.

Неужели git тянет за собой все ветки?

Да, если используется только команда «git pull», то Git будет извлекать все обновленные ссылки на локальные ветви, которые отслеживают удаленные ветви.

Могу ли я отменить git pull?

Да, мы можем отменить изменения, сделанные Git Pull командой » git reset –hard’. Git reset hard сбрасывает ветвь только что извлеченным пользователем данные, в то время как опция hard изменяет файл в рабочем дереве в соответствии с файлами в ветви.

Git Fetch и Git Merge
Git Fetch и Git Merge

В одной из последних статей мы узнали о команде Git Read more

Как проверить зафиксированные изменения на GitHub

Мы уже знаем, как вносить изменения в локальное хранилище и Read more

Git Push – вносим изменения на GitHub
Git Push

Команда git push при выполнении перемещает изменения, внесенные пользователем на Read more

Что такое git Clone и как клонировать репозиторий?
Что такое git Clone и как клонировать репозиторий?

"Клонирование" означает создание идентичных особей естественным или искусственным путем. Клонирование Read more

Что такое Git Fork?
Git Fork

Сегодня мы узнаем, как скопировать чужой репозиторий в наш аккаунт Read more

Подключение локального репозитория к удаленному репозиторию GitHub
Подключение локального репозитория к удаленному репозиторию GitHub

Все данные, доступные в локальном репозитории, могут быть загружены в Read more

Раздел: Git Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

шестнадцать − шесть =