Что такое удалённый репозиторий?
До сих пор твой репозиторий жил только в одном месте — на компьютере.
(remote repository) — это репозиторий, который хранится где-то ещё, обычно на сервисах вроде GitHub. Это всё тот же репозиторий, но он доступен по сети, а не только на твоей машине.
Для проекта, который мы делаем, локальный репозиторий уже есть. Когда мы создадим под него репозиторий на GitHub, они ещё ничего не будут знать друг о друге. Чтобы они заработали вместе, мы свяжем локальный репозиторий с URL-адресом удалённого.
Часто удалённый репозиторий называют просто remote. Когда кто-то говорит «запушить в remote», он имеет в виду «отправить коммиты в этот удалённый репозиторий».
Вот наш план на эту главу:
-
На компьютере уже есть локальный репозиторий. В нём лежат все коммиты, которые мы сделали до сих пор.
-
Мы создадим пустой репозиторий на GitHub. Это даст нам онлайн-хранилище для копии истории проекта.
-
Мы свяжем локальный репозиторий с репозиторием на GitHub, добавив URL-адрес репозитория на GitHub как remote — запись с коротким именем и URL удалённого репозитория. Обычно первый remote называют
origin— это стандартное имя для первой такой связи. -
Когда связь появится, мы сможем запушить (push) локальные коммиты — отправить их из локального репозитория в этот пустой репозиторий на GitHub.
-
Позже, если в репозитории на GitHub появятся новые коммиты, которых пока нет локально, мы сможем спуллить (pull) их обратно — подтянуть эти коммиты из GitHub в локальный репозиторий.
Связывание — ключевой этап. Пока ты не добавишь remote, локальный репозиторий не будет знать, в какой именно репозиторий на GitHub отправлять коммиты.
Есть и другая частая отправная точка — .
Клонирование используют, когда проект уже существует на GitHub и нужно получить его первую локальную копию. Вместо git init мы клонируем удалённый репозиторий, и Git сам создаёт локальный репозиторий, уже связанный с удалённым. Дальше с локальным репозиторием можно работать как обычно.
В этом курсе мы идём обратным путём: мы начали работу локально, а теперь связываем этот локальный репозиторий с GitHub.
С удалённым репозиторием можно:
-
Создавать резервные копии: если с компьютером что-то случится, коммиты останутся на удалённом сервере.
-
Работать с нескольких машин: можно запушить коммиты с одного компьютера и спуллить эти же коммиты на другой.
-
Делиться кодом с командой: удалённый репозиторий становится общим пространством, где люди обмениваются коммитами.
Если удалённый репозиторий принадлежит тебе, ты решаешь, кто может его читать, а кто — изменять. Например, проект с открытым кодом может разрешить клонировать репозиторий кому угодно, но пушить коммиты в главный репозиторий смогут только разработчики с правами доступа, которых называют мейнтейнерами (maintainers).
GitHub также позволяет репозитории. Форк (fork) — это отдельная серверная копия репозитория под другим аккаунтом. Так разработчики могут экспериментировать в своей копии, не меняя оригинальный репозиторий.
Два термина, которые легко перепутать:
-
Клонировать (clone): сделать локальную копию удалённого репозитория на своём компьютере.
-
Форкнуть (fork): сделать серверную копию чужого удалённого репозитория в своём аккаунте. Обычно клонируют именно этот форк, а не оригинальный репозиторий. Обновления из оригинала не появятся в форке сами по себе, пока ты явно их не подтянешь.
Если кто-то находит ошибку в проекте с открытым кодом, можно форкнуть репозиторий, исправить её в своём форке и предложить это исправление, . Если мейнтейнерам понравятся изменения, они заберут их в оригинальный репозиторий.
Именно так разрабатываются Linux, .NET, Python и VS Code. Весь этот рабочий процесс тебе пока не нужен, но полезно знать, какие возможности открывает GitHub.
GitHub — популярная платформа для хостинга удалённых репозиториев. В этой главе мы создадим репозиторий на GitHub, свяжем его с нашим локальным репозиторием и отправим туда коммиты.
Давай посмотрим, как создать новый репозиторий на GitHub.
Пройди курс так, как задумано: порционное обучение, чёткий порядок и постепенное открытие статей в Gitопедии. В любой момент можно продолжить работу с настоящим Git прямо в VS Code, Cursor, Antigravity или Windsurf.
(требуется войти в аккаунт)