Remote и GitHub: что такое удалённый репозиторий
Выходим за пределы своего компьютера: знакомимся с удалёнными репозиториями и GitHub.
Remote (удалённый репозиторий) — это версия вашего репозитория, размещённая на сервере (например, на GitHub), с которой синхронизируются все участники.
Зачем нужны удалённые репозитории
Пока репозиторий живёт только на вашем компьютере, у него две проблемы: им нельзя поделиться с коллегами и он погибнет вместе с диском. Удалённый репозиторий решает обе: это общая «точка сборки» в интернете, куда все отправляют свою работу и откуда забирают чужую. Заодно это надёжный бэкап.
Что такое GitHub
GitHub — самый популярный хостинг git-репозиториев. Помимо хранения кода он даёт инструменты для совместной работы: обсуждения, ревью кода, задачи (issues), автоматизацию. Альтернативы — GitLab, Bitbucket, Gitea. Для git все они «удалённые серверы» и работают одинаково.
origin — имя по умолчанию
У remote есть короткое имя-псевдоним, чтобы не писать длинный URL каждый раз. По соглашению основной удалённый репозиторий называют origin. Когда вы клонируете проект, git сам заводит remote с именем origin, указывающий на источник.
Посмотреть список remote с адресами:
git remote -vВывод:
origin https://github.com/ivan/my-project.git (fetch) origin https://github.com/ivan/my-project.git (push)
Строки fetch и push — адреса для скачивания и отправки (обычно совпадают).
HTTPS или SSH
Подключиться к GitHub можно двумя способами:
| Способ | URL | Аутентификация |
| HTTPS | https://github.com/ivan/repo.git | токен (PAT) |
| SSH | [email protected]:ivan/repo.git | SSH-ключ |
Важно: с 2021 года GitHub не принимает обычный пароль от аккаунта при работе через HTTPS. Используйте персональный токен доступа (PAT) вместо пароля либо настройте SSH-ключ — это удобнее для постоянной работы.
Локальный и удалённый — две независимые копии
Ключевая мысль: ваш локальный репозиторий и remote — это две отдельные копии. Коммит на вашей машине не появляется на GitHub автоматически. Чтобы они синхронизировались, есть специальные команды — push, fetch, pull, которые мы разберём в следующих уроках.
Зачем настраивать SSH-ключ
Если вы работаете с GitHub каждый день, вводить токен при каждом push утомительно. Поэтому удобнее один раз настроить SSH-ключ: вы генерируете пару ключей, публичный добавляете в настройки GitHub, а git дальше аутентифицируется автоматически, без ввода пароля. Это и безопаснее (приватный ключ не покидает ваш компьютер), и удобнее в ежедневной работе.
Публичные и приватные репозитории
На GitHub репозиторий может быть публичным (виден всем, типично для open source) или приватным (виден только вам и приглашённым). На git-команды это почти не влияет — push, pull, clone работают одинаково, — но к приватному репозиторию без прав доступа не подключиться. Выбирайте видимость осознанно: код, содержащий коммерческую логику или секреты, должен быть приватным.
Итог
- Remote — копия репозитория на сервере для обмена кодом и бэкапа.
- GitHub — популярный хостинг git; основной remote по соглашению зовут
origin. - Для HTTPS используйте токен (PAT), не пароль; для постоянной работы удобен SSH-ключ.