Удалённые репозитории
1Удалённые репозитории: remote и fetch← вы здесь2push и pull: синхронизация с remote3clone и fork: работа с чужими репозиториями
Урок 1~12 минут

Удалённые репозитории: remote и fetch

До этого момента Git работал только локально. Пора подключить удалённый репозиторий — GitHub, GitLab или собственный сервер.

Что такое remote

Remote — это ссылка на удалённый репозиторий. Просто псевдоним и URL:

bash
git remote add origin https://github.com/ivan/my-project.git
  • origin — имя (псевдоним)
  • URL — адрес репозитория

Ты можешь назвать remote как угодно, но origin — универсальная конвенция для основного удалённого репозитория.

Управление remote

bash
git remote -v                            # список всех remote и URL
git remote add upstream https://...      # добавить второй remote
git remote remove origin                 # удалить remote
git remote rename origin github          # переименовать

Несколько remote бывают нужны: origin — твой fork, upstream — оригинальный репозиторий проекта.

Tracking branches — origin/main

После первого git fetch или git push Git создаёт tracking branch — локальный указатель на состояние удалённой ветки:

origin/main  →  последний известный коммит на remote
main         →  твой локальный указатель

Это разные вещи. origin/main обновляется только когда ты запускаешь git fetch или git pull.

bash
git log origin/main   # история remote ветки
git diff origin/main  # что изменилось у тебя относительно remote

git fetch — безопасное получение данных

bash
git fetch origin

Скачивает все новые коммиты с remote и обновляет origin/main. Не трогает твою рабочую папку и ветки. Ты можешь посмотреть что изменилось, прежде чем мержить.

bash
git fetch origin
git log origin/main --oneline -5  # смотришь что пришло
git merge origin/main             # мержишь когда готов

Это безопаснее чем git pull — сначала видишь, потом решаешь.

Попробуй в симуляции

Полный путь от нуля до GitHub

bash
# 1. Создать репо на GitHub (через веб-интерфейс)
 
# 2. Инициализировать локально (если ещё нет)
git init
git add .
git commit -m "init: первый коммит"
 
# 3. Подключить remote
git remote add origin https://github.com/ivan/my-project.git
 
# 4. Отправить
git push -u origin main

Или наоборот — если репо уже на GitHub, просто git clone.

Команды

bash
git remote -v                  # список remote
git remote add origin URL      # добавить remote
git fetch origin               # скачать без merge
git fetch --all                # скачать со всех remote
git remote show origin         # подробности о remote
origin — просто псевдоним URL. Можешь назвать как угодно, но origin — это конвенция.
🌐
Удалённый репозиторийшаг 0 / 3
💻Local
main
f0e1d2cinit: первый коммит
4b5c6d7docs: обновил README
a3f7c21feat: главная страница
☁️GitHub (origin)
main
пусто
🎯
Миссия 1 из 4
Как добавить удалённый репозиторий с именем origin?