JavaRush /Курси /Frontend SELF UA /Основи роботи з Git

Основи роботи з Git

Frontend SELF UA
Рівень 20 , Лекція 1
Відкрита

9.0 Трохи історії

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

Спочатку в Git DVCS гілка за замовчуванням називалася master. За замовчуванням кожен репозиторій Git мав гілку master. Розробники рідко видаляли її, оскільки вона відігравала важливу роль у розробці.

Влітку 2020 року, на хвилі протестів та соціальних заворушень, використання термінів master та slave (господар та раб) в IT викликало бурхливу дискусію. В пошуках заміни master пропонувалися різні варіанти, наприклад, default та primary. Але зрештою найбільшу популярність здобув термін main.

GitHub вжив заходів та відмовився від терміна master при ініціалізації репозиторію Git. Переключення GitHub з master на main можливе в налаштуваннях облікового запису Repositories або командою:

$ git branch -m master main

В деяких навчальних матеріалах все ще може зустрічатися термін master. Детальніше про перехід на main можна дізнатися за наступними посиланнями:

9.1 Що таке Git і навіщо він потрібен

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

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

Репозиторій

Репозиторій (або "repo") – це місце, де зберігається вся історія проєкту, включаючи всі зміни і версії файлів. У Git репозиторій включає робочу директорію, індекс (або стадію) і базу даних об'єктів.

Коміти

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

Гілки

Гілка (branch) — це незалежна лінія розробки. За замовчуванням Git створює гілку main (раніше master). Ви можете створювати нові гілки для розробки нових фіч або виправлень, а потім об'єднувати їх назад в основну гілку.

Злиття та ребейз

Злиття (merge) та ребейз (rebase) — це два способи інтеграції змін з однієї гілки в іншу. Злиття об'єднує історії двох гілок, створюючи новий коміт, а ребейз переносить коміти однієї гілки на вершину іншої, змінюючи історію комітів.

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

Ось таблиця з основними командами Git для управління версіями:

Команда Опис
git init Ініціалізує новий Git репозиторій у поточній директорії.
git clone Клонує репозиторій із URL у нову директорію.
git add Додає файли в індекс для наступного коміту.
git commit Фіксує підготовлені зміни в репозиторії.
git push Надсилає зміни з локального репозиторія в віддалений.
git pull Оновлює поточну гілку з останньою версією з віддаленого репозиторія.
git branch Показує, створює або видаляє гілки.
git merge Зливає зміни зазначеної гілки в поточну гілку.
git rebase Переносить зміни на нову базу (частіше за все, це інша гілка).

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

9.3 Три місця зберігання коду

Коли ви будете користуватися системою контролю версій для вашого коду, ваш код, грубо кажучи, буде зберігатися у трьох місцях:

1. Віддалений репозиторій:

Це централізоване місце для зберігання вашого коду, зазвичай розміщене на таких сервісах, як GitHub, GitLab, або Bitbucket. Вони забезпечують централізоване зберігання коду і є основою для співпраці.

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

2. Локальний репозиторій:

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

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

3. Робоча директорія:

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

Після внесення змін, ви можете додавати їх у індекс (staging area), а потім фіксувати в локальному репозиторії. Робоча директорія пов'язана з поточною гілкою у вашому репозиторії, і зміна гілок змінює вміст робочої директорії.

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

9.4 GitHub — найпопулярніший безкоштовний репозиторій

GitHub — це найбільша веб-платформа для хостингу вихідного коду, що використовує систему контролю версій Git. Заснована у 2008 році, вона швидко стала одним із ключових інструментів для розробників по всьому світу.

GitHub

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

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

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

9.5 Реєстрація на GitHub

Крок 1. Зайдіть на https://github.com

Крок 2. Зареєструйтесь.

Крок 3. Натисніть на кнопку New repository для створення нового репозиторію.

Крок 4. Задамо параметри для репозиторію:

  1. Ім'я репозиторію.
  2. Публічний або приватний. Для початку оберіть "Публічний"
  3. Додайте файл README – він нам знадобиться в майбутньому.
  4. Натисніть Create repository

Параметри, які поки пропустимо:

  • Файл .gitignore. Поки пропустимо цей пункт. Він корисний для виключення певних файлів з вашого репозиторію.
  • Ліцензія. Вона визначає, як інші можуть використовувати та поширювати вашу роботу.
  • Гілка main. За замовчуванням GitHub використовує main в якості імені основної гілки у вашому репозиторії.

Крок 4. Отримуємо наш перший репозиторій

Встановлення Git на ваш комп'ютер

Тут все просто: тиснемо на перше посилання гугла, встановлюємо і все.

Якщо використовуєте WebStorm, не обов'язково встановлювати git окремо. Якщо WebStorm виявить, що Git не встановлено у вашій системі, він запропонує вам встановити його під час початкового налаштування.

Встановлення для Windows

Як завжди, потрібно завантажити exe файл та запустити його. Завантажте інсталятор Git з офіційного сайту: https://git-scm.com/downloads

Встановлення для Linux

Зазвичай git вже встановлено і є в дистрибутивах Linux, щоб перевірити це, потрібно відкрити термінал і прописати: git --version

Використовуйте менеджер пакетів вашого дистрибутива для встановлення Git. Наприклад, в Ubuntu або Debian ви можете використати наступну команду:

sudo apt-get install git

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

Тут також для початку потрібно перевірити, чи вже є Git (дивись вище, як на Linux).

Якщо все ж таки немає, найпростіший шлях — це завантажити останню версію.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ