Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Git-сервер

В этом разделе мы узнаем:

Фактически, хранилище -- это каталог служебных файлов, обслуживаемый программными инструментами Git. Взаимодействие между каталогом и программой происходит на одном компьютере и поэтому не вызывает проблем. Но для командного взаимодействия хранилище должно быть доступно в сети. Поэтому его переносят на серверную машину. Чтобы данные хранилища стали доступны другим компьютерам, на серверной машине запускают Git-сервер, который обслуживает запросы, исходящих от Git-клиентов на других машинах.

Удаленное Git-хранилище -- это место для хранения, накопления программного кода и обмена им с другими участниками проекта. Процессы разработки строятся вокруг хранилища, а иногда и управляются им. В список наиболее важных процессов входят:

Git-сервер с вышеперечисленными сервисами формирует платформу для хостинга и совместной разработки IT-проектов. К таким платформам относятся:

Разработчикам-одиночкам и небольшим командам выгодно использовать готовую платформу. При этом отпадает покупка или аренда физического сервера и его обслуживание. Платформа GitHub предлагает бесплатную услугу по размещению проектов под управлением Git. За дополнительную плату можно получить расширенные возможности ее сервисов. Подавляющее большинство программ с открытым исходным кодом размещаются на платформе GitHub.

Все проекты разработки открытого ПО относятся к публичным: любой желающий может загрузить на свой компьютер исходные коды программы. Частные и коммерческие проекты чаще всего являются приватными, т.е. закрытыми. Доступ к исходным кодам есть только у участников проекта. GitHub позволяет создавать приватные проекты, в которых доступ к хранилищу происходит по разрешению сопровождающего лица. Но сервисы GitHub являются закрытыми и работают только на серверах самой организации. Не все компании могут позволить себе перенести свои исходные коды на неконтролируемые ими сервера. Для таких случаев существует проект GitLab в рамках которого создается ПО для обслуживания процессов разработки программ.

Проект GitLab предлагает альтернативу GitHub. Это не только платформа для хостинга IT-проектов, но и программный сервер для запуска частной платформы.

Перечислим открытые проекты, размещенные на платформах GitHub и GitLab.

Проекты, размещенные на платформе GitHub:

Проекты, размещенные на платформе GitLab:

Проекты, размещенные на серверах разработчиков под управлением GitLab:

Контрольные вопросы

  1. Что такое Git-сервер? Какие задачи он выполняет?

  2. Как происходит взаимодействие между Git-сервером и Git-клиентом?

  3. Кто предоставляет услуги Git-сервера? Какие еще услуги они предоставляют дополнительно?

  4. Чем является GitHub?

  5. Чем является GitLab?

  6. Чем отличается публичный проект (хранилище) от приватного?

  7. В чем отличие между GitHub и GitLab?

  8. Какие публичные проекты открытого ПО вам известны?

  9. Какие варианты вы имеете для размещения ваших проектов?

Упражнения

  1. Создайте удаленное хранилище и склонируйте его в два локальных.