Поднимаем свой git сервер

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
Git 0

Шаг 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 указывает, что это будет репозиторий без рабочей директории.

Git 2

Шаг 4: Удаленный доступ к репозиторию

Что бы каждый раз при работе с git сервером не вводить пароль, можно организовать доступ по SSH ключу. Для этого необходимо добавить публичный SSH ключ в скрытую директорию /home/имя_вашего_пользователя/.ssh/authorized_keys на сервере. О том как создаются SSH ключи читайте тут.

Шаг 5: Клонирование репозитория

Теперь, когда пройдены все выше указанные шаги, можно клонировать репозиторий на свой компьютер. Для этого выполняется команда “git clone”, указываете имя пользователя на сервере и его IP адрес, далее ставим двоеточие и полный путь до директории репозитория:

git clone имя_пользователя@{IP адрес вашего сервера}:/home/имя_пользователя/mygit.git
Git 3

Заключение

Теперь вы можете использовать свой git сервер для хранения и управления вашими проектами. Разумеется, для работы с git сервером необходимы знания самого git, без этого не обойтись.

Для сервера под управлением git не обязательно большие вычислительные ресурсы, его вполне реально поднять например на Raspberry Pi 3. Конечно, использование Raspberry Pi не лучший вариант, но вполне рабочий.

Собственный git сервер открывает большие возможности при разработке своего проекта и позволяет не зависеть от других сервисов.

А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:

YouTube
ВКонтакте
Telegram
Дзен

По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.

Один комментарий к “Поднимаем свой git сервер

  1. Как дернуть скрипт после очередного пуша? Облазил интернет, все только про gitlab и github.
    Помогите пожалуйста!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Отказаться
Политика конфиденциальности