7. Удалённые репозитории и GitHub

Что такое удалённый репозиторий?

До сих пор твой репозиторий жил только в одном месте — на компьютере.

(remote repository) — это репозиторий, который хранится где-то ещё, обычно на сервисах вроде GitHub. Это всё тот же репозиторий, но он доступен по сети, а не только на твоей машине.

Для проекта, который мы делаем, локальный репозиторий уже есть. Когда мы создадим под него репозиторий на GitHub, они ещё ничего не будут знать друг о друге. Чтобы они заработали вместе, мы свяжем локальный репозиторий с URL-адресом удалённого.

Часто удалённый репозиторий называют просто remote. Когда кто-то говорит «запушить в remote», он имеет в виду «отправить коммиты в этот удалённый репозиторий».

Вот наш план на эту главу:

  1. На компьютере уже есть локальный репозиторий. В нём лежат все коммиты, которые мы сделали до сих пор.

  2. Мы создадим пустой репозиторий на GitHub. Это даст нам онлайн-хранилище для копии истории проекта.

  3. Мы свяжем локальный репозиторий с репозиторием на GitHub, добавив URL-адрес репозитория на GitHub как remote — запись с коротким именем и URL удалённого репозитория. Обычно первый remote называют origin — это стандартное имя для первой такой связи.

  4. Когда связь появится, мы сможем запушить (push) локальные коммиты — отправить их из локального репозитория в этот пустой репозиторий на GitHub.

  5. Позже, если в репозитории на GitHub появятся новые коммиты, которых пока нет локально, мы сможем спуллить (pull) их обратно — подтянуть эти коммиты из GitHub в локальный репозиторий.

Связывание — ключевой этап. Пока ты не добавишь remote, локальный репозиторий не будет знать, в какой именно репозиторий на GitHub отправлять коммиты.

Есть и другая частая отправная точка —

.

Клонирование используют, когда проект уже существует на GitHub и нужно получить его первую локальную копию. Вместо git init мы клонируем удалённый репозиторий, и Git сам создаёт локальный репозиторий, уже связанный с удалённым. Дальше с локальным репозиторием можно работать как обычно.

В этом курсе мы идём обратным путём: мы начали работу локально, а теперь связываем этот локальный репозиторий с GitHub.

С удалённым репозиторием можно:

  • Создавать резервные копии: если с компьютером что-то случится, коммиты останутся на удалённом сервере.

  • Работать с нескольких машин: можно запушить коммиты с одного компьютера и спуллить эти же коммиты на другой.

  • Делиться кодом с командой: удалённый репозиторий становится общим пространством, где люди обмениваются коммитами.

Если удалённый репозиторий принадлежит тебе, ты решаешь, кто может его читать, а кто — изменять. Например, проект с открытым кодом может разрешить клонировать репозиторий кому угодно, но пушить коммиты в главный репозиторий смогут только разработчики с правами доступа, которых называют мейнтейнерами (maintainers).

GitHub также позволяет

репозитории. Форк (fork) — это отдельная серверная копия репозитория под другим аккаунтом. Так разработчики могут экспериментировать в своей копии, не меняя оригинальный репозиторий.

Два термина, которые легко перепутать:

  • Клонировать (clone): сделать локальную копию удалённого репозитория на своём компьютере.

  • Форкнуть (fork): сделать серверную копию чужого удалённого репозитория в своём аккаунте. Обычно клонируют именно этот форк, а не оригинальный репозиторий. Обновления из оригинала не появятся в форке сами по себе, пока ты явно их не подтянешь.

Если кто-то находит ошибку в проекте с открытым кодом, можно форкнуть репозиторий, исправить её в своём форке и предложить это исправление,

. Если мейнтейнерам понравятся изменения, они заберут их в оригинальный репозиторий.

Именно так разрабатываются Linux, .NET, Python и VS Code. Весь этот рабочий процесс тебе пока не нужен, но полезно знать, какие возможности открывает GitHub.

Давай всё настроим

GitHub — популярная платформа для хостинга удалённых репозиториев. В этой главе мы создадим репозиторий на GitHub, свяжем его с нашим локальным репозиторием и отправим туда коммиты.

Давай посмотрим, как создать новый репозиторий на GitHub.

Next step
Хочешь попробовать Сюжетный режим?

Пройди курс так, как задумано: порционное обучение, чёткий порядок и постепенное открытие статей в Gitопедии. В любой момент можно продолжить работу с настоящим Git прямо в VS Code, Cursor, Antigravity или Windsurf.

Сюжетный режим
БЕСПЛАТНО
(требуется войти в аккаунт)