logo
Back-end      20/02/2024

Вчимося працювати з Git: основи конфігурації, гілки, додавання файлів та директорій

Анастасія Гордєєва BLOG

Frontend Developer в Wix

Git — це найпопулярніша CVS Concurrent Versions System) — система контролю версій прямо зараз, яка дозволяє відстежувати історію розробки і спільно працювати.

Він швидкий і прозорий, підходить як для маленьких, так і великих проєктів.

Якщо ви тільки вчитеся програмувати — вивчайте Git та викладайте код на GitHub щодня. Порада незмінна — які б мови чи фреймворки не вивчали. Далі надаємо слово фронтенд-розробниці у Wix Анастасії Гордєєвій.

Основи конфігурації Git

Для того, щоб додати гіт до свого проекту, треба відкрити термінал в корні проекту і виконати команду git init. Вона створює папку .git, яка має в собі сховище та деякі інші конфігурації для гіту.

Ці конфігурації ми можемо налаштовувати. Наприклад, можемо вказати своє їм’я та пошту, щоб потім можна було зрозуміти, що це саме ми внесли певні зміни в коді. Це робиться наступними командами:

  • git config user.name — ваше Ім’я – імя автора змін;
  • git config user.email — ваша пошта.

Для того, щоб подивитися конфігурацію гіта, виконайте у терміналі отаку команду:git config --list .

Git дозволяє ставити конфігурації на різних рівнях:

Онлайн-курс Бізнес-аналіз. Basic Level від Hillel IT School.
В ході курсу студенти навчаться техніці збору і аналізу вимог, документуванню та управлінню документацією, управлінню ризиками та змінами, а також навчаться моделювати процеси і прототипуванню.
Приєднатися
  • на рівні системи, тобто для всіх користувачів даного комп’ютера (прапорець --system);
  • глобальні для конкретного користувача (--global);
  • локальні для конкретного проекту (--local – стоїть по дефолту);

Локальні налаштування живуть в папці проекту в файлі .git/config. Глобальні — в домашній дирикторії в файлі ~/.gitconfig.

Системні зберігаються в /etc/gitconfig. Якщо гіту треба знайти значення якогось параметра, він спочатку шукає його локально, потім глобально на рівні юзера, а потім на рівні системи.

Тобто,  нам можливо було б краще задати ім’я та пошту на рівні користувача, щоб вони відображались в усіх наших проектах: git config --global user.name. Зайві локальні параметри можна прибрати за допомогою:

  • git config --unset user.name ;
  • git config --remove-section user (видаляє весь неймспейс user, а не тільки user.name).

Або можна відкрити файл конфігурації і відредагувати його напряму.

Онлайн курс UI/UX Design Pro від Hillel IT School.
Навчіться проєктувати інтерфейси з урахуванням поведінки користувачів, розв'язувати їх проблеми через Customer Journey Mapping, створювати дизайн-системи і проводити дослідження юзабіліті, включаючи проєктування мобільних додатків для Android та iOS і розробку UX/UI на основі даних!
Дізнатися більше

В гіті також дуже зручно створювати аліасиЦе такі скорочення, які заміняють великі складені команди, щоб писати менше букв.

Як створювати аліаси:

  • git config --global alias.c ‘config –global’ — тепер ми можемо викликати цю команду просто через git c;
  • git config alias.ac ‘!git add .; git commit -m’ — тепер така велика команда викликається просто через git ac;
  • git config --global --unset alias.ac – прибираємо аліас.

Як зберегти зміни у Git

Ми працювали над проектом і хочемо зберегти змінені файли. Для цього треба додати їх до гіт. Це робиться в два етапи:

  1. Index – список файлів в робочій директорії, які гіт відслідковує. Також індекс є проміжним сховищем змін. Коли ми хочемо внести якісь зміни в гіт, ми спочатку додаємо їх в індекс.
  2. Repository – повна історія розробки проекту. Щоб гіт почав відслідковувати файл: git add fileName.js (додає файл в index гіту).

Щоб остаточно зберегти зміни в repository: git commit

Онлайн-курс Front-end developer від Mate academy.
Опановуйте з нами одну з найблільш популярних професій: Front-end developer! Після навчання допоможемо з пошуком роботи.
Отримати знижку на курс

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

Перша строчка є заголовком коміту — вона повинна стисло але повно відображати суть змін. Після цього ми залишаємо пусту строку і можемо додати ще детальний опис. Всі строчки, що починаються з # в текстовому редакторі (або терміналі), що відкрився, є коментарями. Вони автоматично згенеровані гітом як підказки і будуть проігноровані, коли ми збережемо опис коміту. Для збереження, нам просто треба зберегти текст в редакторі і закрити його.

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

Заголовок коміту можна також додавати прямо в терміналі. Для цього виконаємо команду git commit -m ‘тут наш опис’ .

В гіт можна слідкувати за статусом проекту та змін за допомогою команди: git status.

Вона може вивести в терміналі декілька меседжів.

nothing to commit, working tree clean. Це означає, що поточний стан робочої директорії, індекса і репозиторія відповідають один одному. Тобто в гіт вже збережені всі стани проекту.

untracked files — гіт не відслідковує якісь зміни, треба виконати команду гіт ад

changes to be committed — гід відслідковує зміни, але вони ще не збережені в репозиторій. Треба виконати команду гіт коміт.

Онлайн-курс UI/UX designer від Mate academy.
UI/UX designer відповідає за зручність та естетику сайтів і додатків - після закінчення курсу ви отримаєте добреоплачувану спеціальність. Працевлаштування гарантуємо. .
Отримати знижку на курс

Додавання файлів та директорій, коміти

Якщо ми створимо пусту папку та захочему її додати в гіт – нічого не трапиться. Історично так скалося, що гіт не бачить пустих директорій. Зазвичай, якщо треба додати пусту папку в гіт, в ній створюють файл .gitkeep.

Для того, щоб додати всі модифіковані файли в індекс гіту одразу, ми можемо виконати наступну команду: git add .

Для того, щоб зайві файли (конфігурації, нод модулі, ключі) не додавалися цією командою, в корні проекта можна створити файл .gitignore. Тут ми вказуєм, які файли та директорії ігнорувать, наприклад пишемо ‘node_modules/’. Навіть якщо якийсь файл лежить в .gitignore, ми можемо заставити гіт його додати за допомогою прапорця --force (або -f).

Після того, як ми додали в індекс всі файли, які хочемо зберегти в гіт – ми робимо коміт. Важливо, щоб один коміт мав одну конкретну ціль. Наприклад: додавання лоадеру, фікс бага, реверт фічі. Тобто, як правило, гарні коміти — невеликі і атомарні.

В різних командах є різні конвеншони для назви комітів. Я зазвичай користуюсь цим.

Якщо нам не потрібно зберігати зміни в два етапи (тобто спочатку додавати в індекс через git add, а потім комітити через  git commit) –  ми можемо це зробити однією командою, додавши прапорець :

git commit -am ‘опис коміту’

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

Гілки

Гілка — це ізольований потік розробки, в якому можна робити коміти так, щоб вони не впливали на інші потоки.

Онлайн-курс Digital Marketing від Mate academy.
На курсі Digital Marketing ви отримаєте усі необхідні навички, щоб отримати нову роботу: навчитесь використовувати цифрові канали для залучення аудиторії, просування брендів, товарів та послуг.
Отримати знижку на курс

Зазвичай, основна гілка — це master. Додаткові гілки створюються для розробки окремого функціоналу, для іншого розробника, для релізу. Потім зміни в них ми можемо або об’єднати з master, або з легкістю видалити без впливу на основний потік розробки.

У папці .git є файл HEAD, який відслідковує, на якій гілці ми знаходимось зараз.

Для перегляду поточних гілок, скористайтеся командою git branch.

Для того, щоб створити нову гілку: git branch назва-гілки.

Щоб розробляти в новій гілці, нам треба на неї переключитися (зробити так, щоб на неї вказував HEAD), виконавши команду git checkout назва-гілки.

Ці дві команди можна об’єднати в одну: git checkout -b назва-гілки.

Часто виникають ситуації, що ми робили зміни в одній гілці, а нам терміново треба переключитися на іншу. Що робити з незакоміченими змінами?

Якщо нам не треба зберігати ці зміни, можна виконати команду git checkout -f master.

Курс Python developer від Mate academy.
Опануйте Python та отримайте свою першу роботу в IT! Ми навчимо вас усім необхідним навичкам та допоможемо з працевлаштуванням.
Отримати знижку на курс

А якщо зміни потрібно зберегти, скористайтеся командою git stash.

Ця команда збирає незакомічені зміни і архівує в гіт. Для того, щоб їх повернути (це можна зробити в будь-якій гілці): git stash pop .

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Курс QA engineer від Mate academy.
Після навчання на курсі QA engineer ви зможете розробляти плани тестування додатків та сайтів. Працевлаштування гарантовано.
Отримати знижку на курс

Цей матеріал – не редакційний, це – особиста думка його автора. Редакція може не поділяти цю думку.

Топ-5 найпопулярніших блогерів вересня

Всего просмотровВсього переглядів
2956
#1
Всего просмотровВсього переглядів
2956
Recruiter| Talent Acquisition Specialist
Всего просмотровВсього переглядів
305
#2
Всего просмотровВсього переглядів
305
Career Consultant в GoIT
Всего просмотровВсього переглядів
108
#3
Всего просмотровВсього переглядів
108
Software Developer у FullCity Consulting
Всего просмотровВсього переглядів
69
#4
Всего просмотровВсього переглядів
69
Всего просмотровВсього переглядів
55
#5
Всего просмотровВсього переглядів
55
Рейтинг блогерів

Найбільш обговорювані статті

Топ текстів

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: