Git у Linux

Ласкаво просимо до цього посібника для початківців із Git у Linux! Він допоможе почати роботу з Git і GitLab і дає базове розуміння цих інструментів.

Огляд Git

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

Що таке репозиторій?

Репозиторій (repo, від repository) — локальна папка під керуванням Git з онлайн-копією. Репозиторій GitLab — набір файлів і папок, що складають проєкт. Він може мати гілки — незалежні копії того самого проєкту. Гілка — окрема версія проєкту, де можна вносити зміни, не зачіпаючи основну версію. Це зручно для тестування нових функцій або виправлення помилок без переривання основного проєкту. Є локальний репозиторій на жорсткому диску та віддалений репозиторій онлайн через Git і GitLab.

Встановлення Git

Потрібно встановити Git у системі. У дистрибутивах на базі Debian для встановлення пакетів використовують команду apt. Тут нею встановлюють Git — пакет системи контролю версій. Команда sudo дає інсталятору дозвіл на встановлення в систему.

 sudo apt install git

Доступ до GitLab

Перш ніж користуватися GitLab, створіть обліковий запис на вебсайті GitLab, пройшовши реєстрацію.

GitLab потребує SSH для безпечного автентифікованого зв’язку між клієнтом (вами) і сервером GitLab під час операцій Git, таких як клонування, push і fetch. Клонування — створення локальної копії репозиторію; fetch — отримання змін із віддаленого репозиторію в локальну копію; push — надсилання змін на сервер. SSH (Secure Shell) — мережевий протокол безпечного віддаленого доступу, який використовує пари ключів для автентифікації. Пару ключів SSH можна створити командою ssh-keygen у терміналі.

 ssh-keygen

Вкажіть ім’я файлу або натисніть Enter для імені за замовчуванням; за бажанням задайте пароль. У домашньому каталозі, у прихованій папці .ssh, з’являться два файли id_rsa (якщо обрано імена за замовчуванням). Файл .pub — відкритий ключ; його вміст можна переглянути в текстовому редакторі.

Увійдіть у GitLab і перейдіть до налаштувань користувача. У лівому меню натисніть «SSH Keys». Скопіюйте відкритий ключ у поле Key і дайте ключу зрозумілу назву, наприклад PC@Home. Натисніть «Add Key», щоб зберегти ключ. Відкритий SSH-ключ додано до облікового запису GitLab — ним можна автентифікуватися в репозиторіях GitLab. Перевірте ключі та підключення командою ssh -T — має з’явитися вітальне повідомлення від GitLab.

 $ ssh -T git@ssh.gitlab.gnome.org
 Welcome to GitLab, @username!

Основні команди Git

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

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

Клонування — створення локальної копії віддаленого репозиторію. Це зручно, коли потрібно працювати над проєктом, який уже є на GitLab. Щоб клонувати репозиторій, використайте git clone і URL репозиторію:

git clone https://gitlab.com/username/repository.git

Замініть https://gitlab.com/username/repository.git на URL потрібного репозиторію. Команда створить локальну копію в новому каталозі.

2. Перевірка стану репозиторію

Щоб перевірити, чи є локальні зміни, або переглянути поточний стан:

git status

Команда покаже, які файли змінено, додано або видалено в локальній копії.

3. Віддалені репозиторії

Віддалені репозиторії — версії проєкту, розміщені онлайн, наприклад на GitLab. Це центральне сховище коду, доступне іншим. Стандартний віддалений репозиторій після клонування називається origin. Віддалені репозиторії можна додавати, видаляти або переглядати такими командами:

  • Перегляд віддалених репозиторіїв:

    Щоб побачити віддалені репозиторії, пов’язані з локальним проєктом:

    git remote -v

    Команда виводить усі віддалені репозиторії та їхні URL. Зазвичай тут указано origin.

  • Додавання віддаленого репозиторію:

    Щоб додати новий віддалений репозиторій:

    git remote add <name> <url>

    Замініть <name> на назву віддаленого репозиторію, а <url> — на його URL.

  • Видалення віддаленого репозиторію:

    Щоб видалити віддалений репозиторій:

    git remote remove <name>

    Замініть <name> на назву віддаленого репозиторію, який потрібно видалити.

4. Отримання змін із віддаленого репозиторію

Щоб побачити зміни у віддаленому репозиторії, не застосовуючи їх до локальної копії:

git fetch origin

Команда отримує останні зміни з віддаленого репозиторію, але не зливає їх у локальну гілку. Це спосіб перевірити оновлення перед їх застосуванням.

5. Скидання локального репозиторію

Щоб скинути локальний репозиторій точно до стану віддаленого, можна виконати «жорстке» скидання. Увага: це перезапише будь-які локальні зміни.

git reset --hard origin/branch-name

Замініть branch-name на назву гілки. Команда скасує локальні зміни та зробить локальний репозиторій ідентичним віддаленому.

6. Перегляд історії комітів

Щоб переглянути список змін у репозиторії:

git log

Команда показує історію комітів — автора, дату та повідомлення для кожної зміни. Це допомагає зрозуміти, що й коли змінювалося.

Підсумок

Ці базові команди Git допоможуть працювати з репозиторіями, тримати локальні копії актуальними та безпечно керувати віддаленими репозиторіями. Клонування, перевірка стану та керування віддаленими репозиторіями — ключові навички для проєктів на Git.