У наші дні кодування та програми розробки програмного забезпечення знаходяться на підйомі. Таким чином, попит на програми, що використовуються в цій галузі, також зашкалює. Це призвело до створення висококонкурентного середовища в онлайн-світі, де різні програмні програми та програми 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 з окремою робочою гілкою, де всі зміни, внесені кожним окремим розробником, будуть записані та навіть можуть бути протестовані перед впровадженням. Цей багаторівневий підхід до розробки та тестування не тільки підвищує вашу ефективність, але й робить неймовірно простим відстеження процесу розробки та змін.
Злиття
Пам’ятаєте розгалуження свого сховища та журнал змін? Як випливає з назви, злиття є полярною протилежністю цієї операції. Під час злиття, яке вважається найскладнішим аспектом Git, ми прагнемо ввести дані з одного вузла гілки сховища назад у головний репозиторій, з якого вони були спочатку розділені. Зазвичай це робиться для створення сервера Git із повним звітом про проект та історією змін, яка включає всі зміни проекту з різних областей в одному стислому та легкому для розшифровки сховищі. У той час як під час проекту вам потрібно розгалуження, щоб запобігти плутанині, злиття розроблено, щоб змінити дію та дати більш чітку загальну картину в кінці проекту під час усунення несправностей.
Розмістіть свій власний сервер Git: плюси та мінуси
Кожна програма має набір важливих плюсів і мінусів, які повинні знати користувачі, які хочуть зайти в програму та використовувати її у своїх програмах. У цьому розділі я обговорю плюси та мінуси, які стосуються Git. Однак ці плюси та мінуси стосуються Git лише у тому випадку, якщо ви самостійно розміщуєте його, про що більш-менш йдеться в цьому посібнику, тож давайте перейдемо до нього.
Самостійний Git: плюси
Без участі третіх сторін
Завдяки самостійному розміщенню Git ви та люди, яких ви бачите, будете єдиними людьми, які матимуть доступ до ваших файлів. Це, по суті, усуває будь-яку небажану участь третіх сторін і дозволяє вам спокійно продовжувати свій проект. Ваші дані також будуть набагато безпечнішими, і ви можете розподілити ресурси, які ви мали на увазі для безпеки, деінде.
Безпека
Говорячи про безпеку, Git настільки безпечний, наскільки ви можете зробити це завдяки найкращим практикам і застосуванню інструментів сторонніх розробників. Хоча рівень безпеки падає, коли ви самостійно розміщуєте його, а не використовуєте його, існує майже необмежена свобода в тому, наскільки безпечно ви можете зробити свою власну операцію.
Необмежені сховища
Пам'ятаєте клонування та розгалуження? Немає обмежень щодо кількості сховищ, які ви можете створити за допомогою Git. Це робить його неймовірно придатним для великих проектів, де кожна гілка розробки потребує свого репозиторію. Це також чудово підходить для проектів із великими файлами, як-от 3D-активи, і випадків, коли ви працюєте з Unity.
Власний Git: мінуси
Великі обсяги управлінських зусиль
Сховища Git можуть швидко вийти з-під контролю. Якщо ви вирішите налаштувати сервер Git на власній платформі, яка розміщена самостійно, керування всіма гілками та метаданими незабаром може стати головним болем. Тож вам або потрібно бути неймовірно точним із цим, або попросити досвідченого програміста зробити це за вас.
Груба крива навчання
Одна справа — розміщувати Git, а володіти ним і запускати локальний сервер Git — зовсім інша. Git, мабуть, має один із найвищих рівнів навичок серед будь-якої програми DevOps на основі репозиторію, і знову ж таки, вам потрібно витратити багато часу на його вивчення або аутсорсинг.
Немає графічного інтерфейсу користувача та підтримки Windows
Ви хотіли налаштувати сервер Git у Windows? Або, можливо, ви хотіли налаштувати сервер Git для роботи з графічним інтерфейсом? Що ж, вам не пощастило. Ви обмежені ОС із ядром Linux як основним кодом, і немає графічного інтерфейсу користувача, який би полегшив роботу. Бажаєте встановити сервер Git і самостійне розміщення? Краще вивчіть основи кодування.
Застарілий метод
За всіма можливими показниками використання Git на самостійному сервері здається застарілим і перевершили інші, ефективніші методи запуску Git. Основним прикладом більш ефективного запуску процесу Git може бути запуск GitLab, тому перш ніж вирішити запустити власний сервер Git, перевірте GitLab також!
Вимоги, необхідні для встановлення сервера Git
Тепер давайте швидко розглянемо вимоги, необхідні для налаштування сервера 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 для розміщення вашого веб-сайту або віддаленого робочого столу за найнижчою ціною. 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 безпечно зберігаються в авторизовані_ключі папку, де тільки ви можете отримати до них доступ (виконуйте цю команду, лише якщо у вас НЕМАЄ 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 успішно завершено, і вам також вдалося успішно налаштувати сервер 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 на сервері.
FAQ
Чи можу я розмістити Git без сервера?
Ні. Незалежно від природи вашого сервера, вам знадобиться апаратне забезпечення, щоб діяти як ваш сервер. Ви можете використовувати GitHub як хмарний сервер для своїх репозиторіїв або використовувати наш VPS пропонує або використовує іншу сторонню послугу хостингу, щоб діяти як сервер.
Чи є спосіб інсталювати сервер Git із графічним інтерфейсом?
так Хоча сам Git не підтримує графічний інтерфейс користувача, для людей, які не можуть жити без графічного інтерфейсу, доступна окрема версія з графічним інтерфейсом, відома як «Git GUI».
Чи існує платний план для Git?
Ні. Git був і завжди буде безкоштовною програмою з відкритим вихідним кодом, як відображають її оригінальні розробники та видавці. Таким чином, ви можете використовувати програму як похідну для розробки вашої програми, в іншому випадку програма є безкоштовною.
Чому вам варто розмістити власний сервер Git?
Припустімо, ви хочете запустити невеликий проект з обмеженими репозиторіями. У цьому випадку самостійне розміщення набагато більш приватне та безпечне. Отже, це головний мотив. Але коли ви переходите до більших проектів із більшою кількістю сховищ, самостійне розміщення починає втрачати свою ефективність.