← Назад к вопросам

Как скачать изменения с удаленного репозитория

1.8 Middle🔥 121 комментариев
#Другое

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Скачивание изменений с удаленного репозитория

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

Основные команды

1. git fetch — скачивание изменений БЕЗ интеграции

git fetch
git fetch origin
git fetch origin main
git fetch --tags

Что происходит:

  • Загружаются все новые коммиты, ветки и теги с сервера
  • Обновляются локальные отслеживающие ветки: origin/main, origin/feature
  • Ваша локальная работа НЕ изменяется — это безопасная операция
  • История остается чистой без merge/rebase коммитов

2. git pull — скачивание И интеграция изменений

git pull
git pull origin main
git pull --rebase origin main
git pull --ff-only

Что происходит:

  1. git fetch загружает изменения с сервера
  2. git merge интегрирует их в текущую ветку
  3. Если есть конфликты, нужно их разрешить

3. git pull --rebase — скачивание с перепривязкой

git pull --rebase origin main

Вместо merge используется rebase — ваши локальные коммиты переиграют на вершину удаленной ветки. Такой подход создаёт более чистую историю.

Разница между fetch и pull

  • fetch: скачивает изменения, но НЕ интегрирует их. Полностью безопасно.
  • pull: скачивает И интегрирует (merge). Может быть риск конфликтов.
  • pull --rebase: скачивает и переиграет вашу работу. Более чистая история.

Практические сценарии

Обновление перед push

git fetch origin
git log --oneline origin/main ^HEAD
git pull --rebase origin main
git push origin feature-branch

Работа в команде

git checkout -b feature/api
# Ваши коммиты
git fetch origin
git rebase origin/main
git pull --rebase origin main
git push origin feature/api

Проверить что на сервере

git fetch
git log --oneline origin/main -5
git diff HEAD origin/main
git merge origin/main

Работа с несколькими ветками

git fetch --all
git branch -r
git checkout --track origin/feature/api
git checkout -b local-feature origin/feature/api

Конфликты при pull

git pull origin main
git status
git add filename
git commit -m "Merge remote changes"

Настройка поведения pull

git config pull.rebase true
git config --global pull.rebase true
git config pull.ff only

Best Practices

  1. Используй fetch перед важными решениями — чтобы посмотреть актуальное состояние
  2. Sync часто — не давайте ветвям сильно расходиться
  3. Prefer rebase для своих веток — более чистая история
  4. Используй merge для интеграции в main — безопаснее
  5. Всегда pull перед push — избежите конфликтов
  6. Pull с --rebase во feature ветках — уменьшает лишние merge коммиты
Как скачать изменения с удаленного репозитория | PrepBro