Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
11 мин. на чтение
Инструменты разработчика и DevOps

Как развернуть собственный Git-сервер: пошаговое руководство Linux

Пиус Боденманн By Пиус Боденманн 11 мин. чтения Обновлено 23 января 2024 г.
Как развернуть собственный Git-сервер

Сфера разработки и программирования активно растёт, а вместе с ней — спрос на соответствующие инструменты. Это привело к жёсткой конкуренции среди систем контроля версий и DevOps-инструментов: каждый из них борется за звание самого популярного в своей нише. Git — один из таких инструментов. В условиях повсеместного перехода на удалённую работу всё больше разработчиков переносят свои проекты, включая Git, на удалённые серверы. Если вы тоже хотите развернуть собственный Git-сервер, это руководство для вас.

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

Что такое Git?

Git — это DevOps-инструмент, созданный для того, чтобы разработчики могли вести проекты максимально эффективно. Главная функция Git — отслеживание изменений в исходном коде с течением времени. Git — бесплатный и открытый и регулярно обновляется. Благодаря этому Git остаётся одним из самых доступных и надёжных инструментов для разработчиков. На каждом компьютере, где установлен Git, хранится полный репозиторий со всей историей изменений файлов. За почти 20 лет активной разработки и более 30 выпущенных обновлений Git достиг версии 2.40.0, и работа над новыми обновлениями продолжается. Теперь разберёмся, в каких случаях применяется Git, чтобы лучше понять, зачем вообще поднимать собственный Git-сервер.

Сценарии использования Git

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

Клонирование репозитория

Многие разработчики создают Git-репозиторий на сервере, чтобы отслеживать нужные им проекты и файлы. С помощью нескольких простых команд Git позволяет скопировать текущий репозиторий ядра Linux и вести историю изменений только для интересующих вас файлов. Это просто в исполнении и одинаково хорошо работает как для небольших, так и для крупных проектов. Этот процесс также известен как "ветвление, так как по сути вы создаёте новый бранч из уже существующего репозитория.

Рабочий процесс Git

Git Workflow — ещё один важный сценарий использования, который становится доступен после настройки собственного Git-сервера. С помощью локального Git-сервера можно создать два набора веток через клонирование: одна из них будет отражать текущее состояние проекта, например сайта, а вторая — отдельная production-ветка на Git-сервере, куда попадают все изменения от каждого разработчика. Их можно проверять и тестировать ещё до выкатки в прод. Такой многоуровневый подход к разработке и тестированию ускоряет работу команды и делает отслеживание изменений намного проще.

Слияние

Помните, как создавали ветку репозитория и вели журнал изменений? Слияние — это обратная операция. Именно оно считается самым сложным аспектом Git: суть в том, чтобы взять изменения из одной ветки и влить их обратно в основную ветку, от которой она когда-то отделилась. Обычно это делается для того, чтобы получить единый репозиторий с полной историей проекта — все изменения из разных направлений работы собраны в одном месте и легко читаются. Если в ходе разработки ветвление помогает не запутаться, то слияние делает обратное: оно сводит всё воедино и даёт целостную картину проекта — особенно полезную при отладке и разборе полётов в конце работы.

Собственный Git-сервер: плюсы и минусы

У каждого инструмента есть свои сильные и слабые стороны, и Git — не исключение. В этом разделе разберём, что Git делает хорошо, а где у него есть ограничения. Важно учесть: всё сказанное ниже относится к Git при самостоятельном хостинге — именно об этом и идёт речь в данном руководстве.

Self-hosted Git: преимущества 

Без посредников

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

Безопасность

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

Неограниченное количество репозиториев

Помните клонирование и ветвление? В Git нет ограничений на количество репозиториев. Это делает его отличным выбором для крупных проектов, где каждая ветка разработки требует собственного репозитория. Особенно удобно это для проектов с большими файлами — например, 3D-ассетами — и при работе с Unity.

Git на своём сервере: Минусы

Высокие затраты на администрирование

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

Крутая кривая обучения

Хостить Git — одно дело, но настроить и поддерживать собственный Git-сервер — совсем другое. Git по праву считается одним из самых сложных инструментов в мире DevOps, и здесь нужно либо глубоко разбираться в нём самому, либо отдавать это на аутсорс.

Без графического интерфейса и поддержки Windows

Хотели развернуть Git-сервер на Windows? Или настроить его с графическим интерфейсом? Не получится. Вы ограничены ОС на базе ядра Linux, а GUI здесь нет. Планируете установить Git-сервер и держать всё у себя? Придётся разобраться с основами командной строки.

Устаревший подход

По всем мыслимым показателям запуск Git на собственном сервере выглядит устаревшим решением — другие подходы справляются с этим эффективнее. Лучший пример более рационального способа работы с Git — это запуск GitLab. Поэтому, прежде чем решиться на развёртывание собственного Git-сервера, ознакомьтесь с GitLab тоже!

Требования для установки Git-сервера 

Для начала рассмотрим требования для установки Git-сервера и его самостоятельного хостинга. Вам понадобятся только два компонента: сервер и экземпляр Git, а также базовые знания командной строки для его настройки.

Git-сервер

В качестве сервера можно использовать собственный компьютер, выделенный сервер у стороннего провайдера или, если хотите полный контроль, облачного провайдера VPS (виртуальный частный сервер). С VPS вы можете напрямую управлять сервером и одновременно работать с экземпляром Git. Обратите внимание: на сервере должен быть установлен дистрибутив Linux. Cloudzy предлагает широкий выбор Linux VPS сервисов с поддержкой более 10 популярных дистрибутивов Linux, включая Ubuntu, Debian, CentOS, Kali и OpenSUSE. Цены начинаются от $4.95 в месяц — вы получаете надёжный Linux-сервер рядом с вашим регионом, с хорошим качеством соединения, на котором можно развернуть и запустить собственный Git-сервер.

Хостинг Linux VPS

Выберите экономный или премиальный Linux VPS для хостинга сайта или удалённого рабочего стола по минимальной цене. VPS работает на базе Linux KVM для повышения эффективности и использует производительное железо с хранилищем NVMe SSD для максимальной скорости.

Читать далее

Экземпляр Git

Установка Git-сервера проходит просто — мы автоматизируем её в рамках процесса инсталляции. Git является open-source-проектом и распространяется бесплатно. Именно это делает его предпочтительным выбором по сравнению со многими другими репозиторными инструментами для разработки. Теперь, когда требования определены, переходим к пошаговому руководству по установке Git-сервера на Linux.

Установка Git-сервера на Linux: пошаговое руководство

Шаг 1: загрузка и установка Git

Первый шаг установки Git-сервера. В терминале выбранного дистрибутива Linux введите следующую команду, чтобы начать загрузку Git:

Дистрибутивы на базе Ubuntu/Debian:

sudo apt install git

Дистрибутивы на базе Arch:

sudo pacman -S git

Дистрибутивы на базе RHEL:

sudo dnf install git

Команда загрузит и установит Git на ваш Linux-сервер. Дождитесь завершения процесса.

Шаг 2: регистрация и настройка Git-сервера

Если вы используете локальный сервер на другом компьютере, загрузите его. Если у вас VPS, подключитесь к Linux-серверу удалённо через SSH или RDP. Теперь настроим Git-сервер для удалённой работы. Для этого создадим учётную запись Git с помощью следующей команды:

ssh username@address
sudo useradd git

Затем введите эту команду, чтобы переключиться на только что созданную учётную запись:

su git

Этот шаг необходим прежде всего для обеспечения безопасности вашего Git-сервера. С помощью этой учётной записи вы будете администратором сервера. Вы сможете организовывать будущих пользователей в группы с заранее заданными ограничениями и уровнями доступа.

Шаг 3: создание директорий SSH и Создание репозитория Git на сервере

Следующий шаг установки Git-сервера — создание отдельной директории SSH для хранения публичных ключей и создание репозитория Git на сервере с дополнительными уровнями защиты и разграничением прав доступа. Начните с ввода следующей команды:

ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys

После того как вы ограничили доступ для других пользователей с помощью этой команды, введите следующую строку, чтобы ваши ключи SSH надёжно хранились в authorized_keys папку, доступ к которой есть только у вас (выполняйте эту команду только если у вас НЕТ файла id_rsa.pub файл):

cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub

Наконец, скопируйте публичный ключ SSH, который вы создали, чтобы настроить новое подключение SSH с повышенной безопасностью к вашему локальному Git-серверу:

cd .ssh
vi authorized_keys

Шаг 4: Создайте основной каталог

На сервере Linux нужно создать новый каталог для хранения всех репозиториев, которые Git будет использовать в ваших будущих проектах. Подробнее об управлении репозиториями Git вы можете узнать в нашей документации. Выполните эту команду:

mkdir directory_name

Шаг 5: Добавьте свой проект!

Git-сервер создан. Установка и настройка Git-сервера завершены успешно. Осталось добавить дополнительные проекты с помощью следующей команды:

cd parent_directory
mkdir new_project.git

Затем выполните эту команду, чтобы добавить удалённый origin на локальный компьютер:

git init --bare
git remote add origin name git@address:new_project.git

Наконец, выполните git push, чтобы убедиться, что всё работает корректно:

touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git

Поздравляем: вы успешно развернули Git и создали git-репозиторий на сервере.

Часто задаваемые вопросы

Можно ли использовать Git без сервера?

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

Можно ли установить Git-сервер с графическим интерфейсом?

Да. Хотя сам Git не поддерживает GUI, существует отдельный дистрибутив с графическим интерфейсом под названием «Git GUI» — для тех, кто предпочитает работать без командной строки.

Git платный?

Нет. Git был и остаётся бесплатной программой с открытым исходным кодом — именно так задумали его создатели. Вы можете использовать его как основу для разработки собственных программ, а в остальном он полностью бесплатен.

Зачем запускать собственный Git-сервер?

Если вы ведёте небольшой проект с ограниченным числом репозиториев, собственный хостинг даёт больше приватности и контроля — в этом и состоит главное преимущество. Однако по мере роста проекта и увеличения числа репозиториев самостоятельное обслуживание становится менее эффективным.

Поделиться

Другие статьи блога

Читать дальше.

Металлический контейнер под светящимся неоново-голубым каркасным куполом — на фоне глубокого синего цвета размещены заголовок статьи и логотип Cloudzy.
Инструменты разработчика и DevOps

Главные ошибки в безопасности Docker, которых стоит избегать в 2026 году

Docker можно использовать в продакшене месяцами без единой видимой проблемы. Контейнеры запускаются, приложения отвечают, всё работает. Но стоит оставить открытый порт или неверно настроить права доступа — и

Рекса СайрусРекса Сайрус 15 мин. чтения
3D-структура из светящихся синих кубов, символизирующая контейнеры Docker, рядом с текстом «Portainer vs Yacht: какой UI для Docker выбрать» и логотипом Cloudzy.
Инструменты разработчика и DevOps

Portainer vs Yacht: какой UI для Docker выбрать в 2026 году?

Управление контейнерами Docker через CLI хорошо работает для простых конфигураций, но плохо масштабируется. По мере роста числа контейнеров отслеживание состояний, логов и обновлений вручную становится всё сложнее

Рекса СайрусРекса Сайрус 13 мин. чтения
Инструменты непрерывной интеграции
Инструменты разработчика и DevOps

Лучшие CI/CD-инструменты для оптимизации DevOps-процессов в 2026 году

  Разработка программного обеспечения меняется быстрее, чем когда-либо. Чтобы не отставать, стоит освоить методологии DevOps и Agile

Ада ЛавгудАда Лавгуд 11 мин. чтения

Готовы к деплою? От $2.48/мес.

Независимый облачный провайдер с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат средств в течение 14 дней.