Site icon IT Education Center Blog – блог навчального центру DevOps – ITEDU by NETFORCE Group

Що таке коміти в Git?

Коміт (commit) — це зафіксовані зміни у репозиторії. У ньому зберігається інформація про зміни у файлі: автора, час змін, а також опис того, що було редаговано. 

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

Основні поняття

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

SHA-1 (Secure Hash Algorithm 1) — це алгоритм хешування, який перетворює вхідні дані на 40-символьний унікальний код. У Git вона використовується для неповторної ідентифікації об’єктів, таких як коміти. 

Алгоритм SHA-1 перетворює вхідні дані (наприклад, файли або зміни в коді) в цей хеш. Це дозволяє точно відстежувати зміни і забезпечує цілісність репозиторію, оскільки навіть найменша зміна у вмісті призводить до повністю іншого хешу.

Гілки в Git — це окремі лінії розвитку проєкту. Вони дозволяють працювати над новими функціями або виправленнями, не змінюючи основний код. Основна гілка зазвичай називається Main або Master, а від неї можна створювати інші, працювати над змінами й потім об’єднувати знову.

Області роботи в Git

HEAD показує на останній коміт у поточній гілці.

Індекс — це проміжне сховище, де збираються зміни перед створенням коміту.

Робочий каталог — це поточна тека з файлами проєкту, у якій ведеться розробка.

Робота з віддаленим репозиторієм

Віддалений репозиторій дозволяє зберігати проєкт на сервері, щоб команда могла працювати разом. Для взаємодії з ним використовуються такі команди:

Команда git push надсилає локальні зміни у віддалений репозиторій.

git push origin main

Команда git pull завантажує останні зміни з віддаленого репозиторію та зливає їх у локальну гілку.

git pull origin main

Створення коміту в Git

Розпочинаємо з основ:

Клонуй репозиторій на локальний комп’ютер:

git clone git@gitlab.com:your-username/my-sample-project.git

cd my-sample-project

Створи нову гілку та внеси зміни:

git checkout -b example-tutorial-branch

Hello world! I'm using Git!

Додай зміни та створи коміт:

git add README.md

git commit -m "Added greeting to READM"

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

git push origin example-tutorial-branch

Створи Merge Request на GitLab:

Ти впорався й створив свій перший коміт у Git та надіслав його до віддаленого репозиторію.

Команди для Git

Використовується для застосування змін з конкретного коміту в іншу гілку. Вона дозволяє вибірково переносити коміти без злиття всіх змін.

Корисні доповнення:

  1. -n, --no-commit — застосовує зміни без створення нового коміту.
  2. -e, --edit — відкриває редактор для зміни повідомлення коміту.
  3. -x — додає рядок Signed-off-by до коміту.

Приклад:

git cherry-pick 1234

git cherry-pick -n 1234

Дозволяє змінити останній коміт, наприклад, додати файли або виправити опис.

Корисні доповнення:

  1. --no-edit — змінює коміт без відкриття редактора.
  2. --date — змінює дату коміту.

Приклад:

git commit --amend

git commit --amend --no-edit

Об’єднує кілька комітів в один, допомагаючи зробити історію чистішою.

Приклад:

$ git rebase -i HEAD~3 # squash last 3 commit

$ git merge --squash new-feature

Створює новий коміт, що скасовує зміни попереднього.

Приклад:

$ git revert HEAD  # HEAD refers to the latest commit

Корисні посилання

  1. Офіційна документація Git
  2. Про Git від GitHub
  3. Спільнота Git на Reddit
  4. Гра з відкритим кодом для вивчення Git
  5. Роадмап по вивченню Git
  6. Більше про роботу гілок та репозиторіїв
  7. Курс, де тебе навчать працювати з Git
Exit mobile version