Git-сервер

Git-сервер#

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

  • для чего нужен Git-сервер;

  • чем Git отличается от GitHub и GitLab;

  • в чем отличие между публичным и приватным хранилищем;

  • на какие сервера можно выкладывать свои проекты программ;

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

../_images/git-server-and-client.png

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

  • отслеживание ошибок;

  • автоматическая сборка программы;

  • документирование проекта;

  • сопровождение сайта проекта;

  • автоматическая публикация программы.

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

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

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

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

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

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

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

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