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.