Справочник Git
git pull: получаем изменения с сервера
git pull сначала загружает сведения с удалённого репозитория, затем интегрирует их в текущую ветку. По умолчанию это близко к git fetch и последующему merge.
Рабочий пример
git status
git pull --ff-only
# если нужно только посмотреть
git fetch origin
git log --oneline HEAD..origin/mainФлаг --ff-only обновляет ветку, только если локальная история не расходилась с удалённой. Это предотвращает неожиданный merge commit при обычном получении изменений.
Когда применять
Перед pull сохрани или убери незавершённые правки и проверь текущую ветку. В командной работе заранее договоритесь, используется merge или rebase.
Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.
Частые ошибки
- Выполнять pull с незафиксированными конфликтующими правками
- Не смотреть, какая ветка активна
- Использовать force после неудачного обновления
Pull забирает чужие коммиты и встраивает их
git pull делает две вещи: скачивает историю и сливает её в текущую ветку. Если у тебя нет своих новых коммитов, операция выглядит как простое обновление. Если есть, получится то же слияние, и возможен конфликт.
Перед pull сохрани или закоммить работу. Обновление с грязной папкой либо остановится, либо смешает чужие файлы с недоделанными. git status должен быть чистым или ты должен понимать, какие правки готовы подождать в stash.
git status
git pull
git log --oneline -5Когда pull ругается
- Нет upstream — ветка ещё ни разу не связана с удалённой. Поможет явный
git pull origin mainили первичная отправка. - Истории разошлись — кто-то переписал уже отправленные коммиты. Не лечи это случайным набором команд.
- Конфликт в файле — реши его как при обычном merge и заверши коммит.
- Ты стоишь не в той ветке и тянешь чужую задачу в свою.
Что именно приехало
После удачного pull посмотри последние сообщения в git log. Если изменилась вёрстка, открой страницу в браузере, а не только терминал. История может скачаться без ошибок и при этом принести правку, которую тебе ещё нужно учесть в своей задаче.
Задание
В тестовом репозитории выполни fetch, посмотри новые коммиты и только затем обнови ветку через pull --ff-only.
Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.