Знижка 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 одним із найбільш доступних і надійних DevOps інструментів у світі. На кожному комп'ютері, де встановлен Git, він працює як повнофункціональне сховище з власною історією всіх змін файлів. Після майже 20 років розвитку та понад 30 випущених оновлень Git зараз працює на версії 2.40.0, з подальшими оновленнями в розробці. Тепер давайте розберемося із варіантами використання Git, щоб зрозуміти, навіщо взагалі розгортати власний Git сервер.

Варіанти використання Git

Перш ніж розгортати власний локальний Git сервер, давайте швидко ознайомимося з основними варіантами використання Git, щоб зрозуміти, навіщо взагалі запускати Git сервер.

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

Багато розробників віддають перевагу створенню Git репозиторію на сервері для відстежування програм і файлів, які їх цікавлять. За допомогою кількох базових команд Git дозволяє легко скопіювати ваш поточний репозиторій ядра Linux та використовувати його для створення набагато більш узгодженого та ефективного журналу змін тільки цікавлячих вам файлів. Процес простий у виконанні, і ви можете з ним легко керувати невеликими та великими проектами. Цей процес також називається "розгалуження", оскільки по суті ви створюєте нову гілку з уже існуючого репозиторію.

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

Git Workflow - це ще один важливий варіант використання, який ви застосуватимете після налаштування власного Git сервера. Ви можете використовувати локальний Git сервер для створення двох наборів гілок за допомогою клонування та призначити один з них репрезентативним для вашого проекту, наприклад веб-сайту. Потім ви можете створити Git сервер із окремою production гілкою, де записуватимуться всі зміни від кожного розробника та їх навіть можна тестувати перед впровадженням. Такий багаторівневий підхід до розробки та тестування не тільки підвищує вашу продуктивність, але також робить відстеження процесу розробки та змін надзвичайно простим.

Об'єднання

Пам'ятаєте розгалуження репозиторію та журнал змін? Як випливає з назви, Merging - це повна протилежність цієї операції. При об'єднанні, яке широко вважається найскладнішим аспектом Git, ми намагаємося повернути дані з однієї гілки репозиторію назад у головний репозиторій, з якого вона походила. Це зазвичай робиться для створення Git сервера з комплексним звітом проекту та історією змін, яка включає всі зміни проекту з різних областей в одному узгодженому та легко зрозумілому репозиторії. Якщо під час проекту вам потрібне розгалуження, щоб уникнути плутанини, об'єднання призначене для скасування цієї дії та надання ясної картини на завершальному етапі проекту під час вирішення проблем.

Розгорнути власний Git сервер: переваги та недоліки

Кожна програма має набір критичних переваг та недоліків, які мають знати користувачі, які прагнуть розпочати роботу з цією програмою та використовувати її у своїх проектах. У цьому розділі я обговорю переваги та недоліки, які застосовуються до Git. Однак ці переваги та недоліки стосуються Git тільки якщо ви його самостійно розміщуєте, що є основною темою цього посібника, тому перейдемо до суті.

Самостійно розміщений Git: переваги 

Без залучення третіх осіб

З самостійно розміщеним Git тільки ви та люди, з якими ви працюєте, матимете доступ до ваших файлів. Це по суті виключає будь-яке небажане залучення третіх осіб і дозволяє вам спокійно займатися своїм проектом. Ваші дані також будуть набагато безпечнішими, і ви зможете розподілити ресурси на безпеку в інших місцях.

Безпека

Що стосується безпеки, Git можна зробити максимально безпечним через найкращі практики та впровадження сторонніх інструментів. Хоча рівень безпеки дещо знижується при самостійному розміщенні замість використання сервісу, у вас є майже необмежена свобода в тому, наскільки безпечною ви можете зробити власну операцію.

Невмежені репозиторії

Пам'ятаєте клонування та розгалуження? Немає обмежень на кількість репозиторіїв, які ви можете створити за допомогою Git. Це робить його надзвичайно придатним для великих проектів, де кожна гілка розробки потребує власного репозиторію. Це також чудово підходить для проектів з великими файлами, такими як 3D активи, та випадків роботи з Unity.

Самостійно розміщений Git: Недоліки

Висока вимогливість до керування

Git репозиторіями можуть швидко вийти з-під контролю, якщо ви вирішите налаштувати Git сервер на самостійно розміщеній платформі, керування всіма гілками та метаданими може швидко стати нудотою. Тому вам або потрібно бути надзвичайно точним у цьому, або найняти кваліфікованого розробника для цього.

Крута крива навчання

Одне — розмістити Git, зовсім інше — оволодіти ним і запустити власний Git сервер. Git має один з найвищих порогів входження серед всіх систем контролю версій на основі репозиторіїв, і вам потрібно витратити багато часу на його вивчення або передати це завданням кому-небудь іншому.

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

Хочете встановити Git сервер на Windows? Або планували налаштувати Git сервер з графічним інтерфейсом? На жаль, вас чекає розчарування. Ви обмежені операційними системами з ядром Linux, і графічного інтерфейсу немає. Хочете встановити Git сервер і самостійно його хостити? Доведеться вивчати основи програмування.

Застарілий метод

За будь-якими стандартами, самостійно розміщений Git виглядає застарілим методом порівняно з іншими, більш ефективними способами запуску Git. Яскравим прикладом ефективнішого методу була б робота з GitLab, тому перед тим як вирішувати, чи запускати власний Git сервер, перевірте GitLab також!

Вимоги для встановлення Git сервера 

Розглянемо детально, що потрібно для налаштування і розміщення власного Git сервера. Для хостингу Git потрібні лише два компоненти: сервер та встановлення Git, плюс базові знання програмування для налаштування Git сервера.

Git сервер

Щодо сервера, можна використовувати власний комп'ютер, виділені сервери від традиційних провайдерів, або, якщо віддаєте перевагу більш практичному підходу, скористатися хмарний VPS (віртуальним приватним сервером). Маючи VPS, можна безпосередньо керувати сервером і одночасно управляти Git інстансом. Важливо знати, що на сервері повинен бути встановлений дистрибутив Linux для налаштування Git сервера. 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 з відкритим кодом і коштує безкошовно. Це робить Git привабливим для багатьох інших програм контролю версій. Тепер, коли ми маємо всі вимоги, давайте перейдемо до покрокового посібника з встановлення 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, скористайтеся SSH або RDP для віддаленого доступу до вашого Linux сервера. Тепер налаштуємо 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 використовуватиме у ваших майбутніх проєктах. Введіть команду:

mkdir directory_name

Крок 5: Додаємо ваш проєкт!

Ви успішно створили Git-сервер! Процес встановлення Git-сервера завершено успішно, і ви також успішно налаштували Git-сервер. Залишилося лише додати додаткові проєкти командою:

cd parent_directory
mkdir new_project.git

Потім введіть цю команду, щоб додати віддалене сховище на вашу локальну машину:

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 не підтримує графічний інтерфейс, існує окремої версія з графічним інтерфейсом під назвою "Git GUI" для тих, хто не може обійтися без GUI.

Чи є платні плани для Git?

Ні. Git був і завжди буде безплатною й відкритою програмою, як визначили її розробники й видавці. Тому ви можете використовувати програму як основу для розробки своїх програм, інакше ж програма є абсолютно безплатною.

Чому варто хостити власний Git-сервер?

Якщо ви планете запустити невеликий проєкт з кількома репозиторіями, власний хостинг набагато приватніший і безпечніший. Це основна причина. Однак коли ви переходите до більших проєктів з більшою кількістю репозиторіїв, власний хостинг стає менш ефективним.

Поділитися

Ще з блогу

Читайте далі.

Металевий контейнер під куполом із неонової бірюзової сітки, з назвою статті та логотипом Cloudzy на темно-синьому тлі.
Інструменти для розробників і DevOps

Головні помилки у безпеці Docker, яких варто уникати у 2026 році

Docker може місяцями працювати у продакшні без жодних видимих проблем. Контейнери запускаються, застосунки відповідають, нічого не ламається. А потім один відкритий порт або одне некоректно налаштоване дозволення призводить до

Рекса СайрусРекса Сайрус Читання: 15 хв
Тривимірна структура з блакитних кубів, що символізує контейнери 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 днів.