ru:https://highload.today/blogs/vchimosya-pratsyuvati-z-git-osnovi-konfiguratsiyi-gilki-dodavannya-fajliv-ta-direktorij/ ua:https://highload.today/uk/blogs/vchimosya-pratsyuvati-z-git-osnovi-konfiguratsiyi-gilki-dodavannya-fajliv-ta-direktorij/
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 дозволяє ставити конфігурації на різних рівнях:

  • на рівні системи, тобто для всіх користувачів даного комп’ютера (прапорець --system);
  • Онлайн-курс "Проджект-менеджер в ІТ" від Laba.
    Навчіться запускати, контролювати й успішно реалізовувати ІТ-проєкти. Пройти весь шлях проєктного управління на реальному кейсі вам допоможе PMD із 19-річним досвідом в ІТ.
    Детальніше про курс
  • глобальні для конкретного користувача (--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).

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

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

Курс Job Interview Crash Course від Enlgish4IT.
Отримайте 6 шаблонів відповідей на співбесіді, які ви зможете використовувати для структурування своїх відповідей. Отримайте знижку 10% за промокодом ITCENG.
Приєднатися

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

  • 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

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

Основи Web дизайну від Ithillel.
Цей онлайн-курс з основ веб-дизайну дозволить вам опанувати мистецтво створення ефективних та привабливих інтерфейсів для вебсайтів і застосунків. Ви оволодієте ключовими принципами UX/UI дизайну, створюватимете дизайн-макети та прототипи, розроблятимете адаптивні інтерфейси для різних пристроїв, готуючись до професійної кар'єри в галузі веб-дизайну.
Дізнатися більше

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

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

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

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

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

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

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

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

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

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

Курс QA Manual (Тестування ПЗ мануальне) від Powercode academy.
Навчіться знаходити помилки та контролювати якість сайтів та додатків.
Записатися на курс

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

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

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

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

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

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

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

Гілки

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

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

Онлайн-курс "React Native Developer" від robot_dreams.
Опануйте кросплатформну розробку на React Native та навчіться створювати повноцінні застосунки для iOS та Android.
Програма курсу і реєстрація

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

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

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

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

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

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

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

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

Курс Power Skills For Tech від Enlgish4IT.
Зменшіть кількість непорозумінь на робочому місці та станьте більш ефективним у спілкуванні в мультикультурній команді. Отримайте знижку 10% за промокодом ITCENG.
Реєстрація на курс

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

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

Онлайн-курс "Нотації BPMN" від Laba.
Опануйте мову BPMN для візуалізації бізнес-процесів, щоб впорядкувати хаос у них.Після курсу ви точно знатимете, що саме обрати для розв’язання завдань вашого бізнесу.
Дізнатись більше

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

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

PHP Developer в ScrumLaunch
Всего просмотровВсього переглядів
2434
#1
Всего просмотровВсього переглядів
2434
Founder at Shallwe, Python Software Engineer (Django/React)
Всего просмотровВсього переглядів
113
#2
Всего просмотровВсього переглядів
113
Career Consultant в GoIT
Всего просмотровВсього переглядів
95
#3
Всего просмотровВсього переглядів
95
CEO & Founder в Trustee
Всего просмотровВсього переглядів
94
#4
Всего просмотровВсього переглядів
94
Рейтинг блогерів

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

Топ текстів

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

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

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