Git – еще одно решение от известного программиста, который в свое время написал ядро Linux – Линуса Торвальдса. По сути, git, это распределенная система контроля версий, которая позволяет разработчикам эффективно управлять и отслеживать изменения в своих проектах. Проще говоря, это репозиторий, в котором разрабатывается тот или иной проект. Хоть и существует множество веб-сервисов Git, таких, как GitHub и GitLab, иногда требуется создать собственный сервер Git для хранения и управления проектами.
Создание собственного сервера Git может показаться сложным заданием, но на самом деле, это не так. Развернуть базовый функционал на собственном сервере не составляет особого труда. Конечно, тот же Github имеет веб-интерфейс, которого не будет в нашем случае, но он и не особо нужен.
В данной статье мы рассмотрим как можно поднять собственный, приватный git сервер. На котором в дальнейшем можно разрабатывать проекты как в домашних условиях, когда вы создаете проект в одиночку, так и для работы в команде.
Шаг 1: Установка Git
Для развертывания сервера понадобится операционная система семейства Linux. В данной статье будет рассмотрен пример установки git на Ubuntu. Но с таким же успехом вместо нее можно использовать Debian, как более стабильный вариант для подобных решений.
Первым шагом необходимо установить Git на сервер. Для развертывания git репозитория необходим пакет git-core. Но сначала обновим саму систему, после чего установим нужный пакет:
sudo apt-get update
sudo apt-get install git-core

Шаг 2: Создание пользователя Git
После установки Git можно создать отдельного пользователя, который будет управлять вашим сервером Git. Хотя это и не обязательный шаг. Подробнее о том, как создается пользователь в системах Linux можно прочесть перейдя по этой ссылке.
Для примера возьмем пользователя с именем Git. При создании пользователя нужно будет ввести помимо имени также и пароль. Остальные поля можно пропустить:
sudo adduser git
Шаг 3: Создание репозитория
Следующим шагом необходимо создать директорию с именем будущего проекта. После чего перейти в нее и инициализировать репозиторий выполнив команду “git init”:
mkdir mygit.git
cd mygit.git
git init --bare
Здесь мы создаем пустой репозиторий в директории /home/имя_вашего_пользователя/mygit.git. Ключ –bare указывает, что это будет репозиторий без рабочей директории.

Шаг 4: Удаленный доступ к репозиторию
Что бы каждый раз при работе с git сервером не вводить пароль, можно организовать доступ по SSH ключу. Для этого необходимо добавить публичный SSH ключ в скрытую директорию /home/имя_вашего_пользователя/.ssh/authorized_keys на сервере. О том как создаются SSH ключи читайте тут.
Шаг 5: Клонирование репозитория
Теперь, когда пройдены все выше указанные шаги, можно клонировать репозиторий на свой компьютер. Для этого выполняется команда “git clone”, указываете имя пользователя на сервере и его IP адрес, далее ставим двоеточие и полный путь до директории репозитория:
git clone имя_пользователя@{IP адрес вашего сервера}:/home/имя_пользователя/mygit.git

Заключение
Теперь вы можете использовать свой git сервер для хранения и управления вашими проектами. Разумеется, для работы с git сервером необходимы знания самого git, без этого не обойтись.
Для сервера под управлением git не обязательно большие вычислительные ресурсы, его вполне реально поднять например на Raspberry Pi 3. Конечно, использование Raspberry Pi не лучший вариант, но вполне рабочий.
Собственный git сервер открывает большие возможности при разработке своего проекта и позволяет не зависеть от других сервисов.
А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:
По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.
Как дернуть скрипт после очередного пуша? Облазил интернет, все только про gitlab и github.
Помогите пожалуйста!