JavaRush /Курси /JAVA 25 SELF /Вступ до Git: навіщо потрібен контроль версій

Вступ до Git: навіщо потрібен контроль версій

JAVA 25 SELF
Рівень 25 , Лекція 0
Відкрита

1. Проблема без контролю версій: чому просто копіювати файли — погана ідея

Почнімо з життєвої ситуації. Уявіть, що ви працюєте над своїм Java‑проєктом. Усе йде добре, доки не настає момент «експериментів». Ви вирішуєте щось змінити, але боїтеся зламати робочу версію. Що робити? Звісно — копіювати проєкт!

У підсумку на вашому диску з’являються такі шедеври:

MyProject/
├── Main.java
├── Main_backup.java
├── Main_final.java
├── Main_final2.java
├── Main_точно_финал.java
├── Main_точно_точно_финал.java

Знайомо? А тепер уявіть, що до проєкту приєднався ще один друг. Він також любить копіювати файли — але по‑своєму. Як зрозуміти, де актуальна робоча версія? Як дізнатися, хто що змінив? Як усе повернути, якщо експеримент не вдався?

Без контролю версій:

  • Легко втратити або переплутати робочий код.
  • Важко повернутися до попередньої версії.
  • Складно працювати удвох чи утрьох.
  • Хаос і страх перед експериментами.

Саме ці проблеми розв’язують системи контролю версій — такі як Git.

Відео

Подивіться лекцію від одного з провідних менторів Університету JavaRush, яка занурить вас у світ Git — ключової технології для будь‑якого сучасного розробника.

Відео складається з двох частин:

  • Спочатку ви розберетеся з основами роботи з Git через термінал. Цей фундаментальний підхід допоможе вам зрозуміти, що відбувається «під капотом» системи.
  • Потім ви перейдете до практики в IntelliJ IDEA, де навчитеся виконувати ті самі операції за допомогою зручного графічного інтерфейсу — так, як це щодня роблять професіонали.

Дзеркало на Vimeo: Лекція 26 Git

2. Навіщо розробникові потрібен Git?

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

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

Репозиторій

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

Коміти

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

        gitGraph
        commit id: "1"
        commit id: "2"
        commit id: "3"
        commit id: "4"
        commit id: "5"
        commit id: "6"
    

Кожен коміт — це «знімок» проєкту, який іде за попереднім, формуючи послідовну історію змін.

Гілки

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

        gitGraph
        commit id: "1"
        commit id: "2"
        branch develop
        commit id: "3"
        commit id: "4"
        commit id: "5"
        checkout main
        commit id: "6"
        commit id: "7"
        merge develop
        commit id: "8"
        commit id: "9"
    

Від основної гілки main відгалужується гілка develop для паралельної розробки. Після завершення роботи зміни з develop зливають назад у main.

3. Основні команди Git (те, що під капотом)

Нижче — список основних команд для роботи з Git через термінал. Важливо розуміти, які команди лежать в основі всіх операцій. Водночас ми дотримуватимемося GUI‑підходу і навчимося виконувати їх за допомогою зручного графічного інтерфейсу IntelliJ IDEA. Сприймайте ці команди як те, що відбувається «під капотом».

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

Ці команди — основні інструменти роботи з Git. Вони дають змогу керувати змінами коду, гілками та злиттями в проєктах будь‑якого розміру.

        sequenceDiagram
        participant Робоча директорія
        participant Область підготовки (Staging)
        participant Локальний репозиторій
        participant Віддалений репозиторій

        Робоча директорія ->> Область підготовки (Staging): git add (Підготувати)
        Область підготовки (Staging) ->> Локальний репозиторій: git commit (Зберегти локально)
        Локальний репозиторій ->> Віддалений репозиторій: git push (Надіслати на сервер)
        Віддалений репозиторій ->> Робоча директорія: git pull (Завантажити оновлення)
    

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

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

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

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

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

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

3. Робочий каталог

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

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

5. GitHub — ваше портфоліо

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

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

6. Створення вашого першого репозиторію на GitHub

Крок 1. Перейдіть на https://github.com і зареєструйтеся.

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

Крок 3. Вкажіть параметри для репозиторію:

  1. Ім’я репозиторію: придумайте змістовне ім’я.
  2. Публічний чи приватний: для навчальних проєктів варто обрати «Public», щоб його могли бачити інші.
  3. Add a README file: обов’язково поставте цю позначку. README — це «обличчя» вашого проєкту.
  4. Add .gitignore: розкрийте список і виберіть шаблон для вашої мови програмування.
  5. Choose a license: можна пропустити.
  6. Натисніть Create repository.

Крок 4. Вітаємо, ваш перший віддалений репозиторій створено!

7. Встановлення та налаштування Git

Хоча основ Git можна вивчати через консольні команди (як показано у відео), у щоденній роботі 99 % розробників використовують зручні інструменти, вбудовані в середовище розробки. Наша мета — навчити вас працювати так, як це роблять професіонали.

Інтерфейс для роботи з Git у всіх сучасних IDE від JetBrains — чи то IntelliJ IDEA для Java/Kotlin, чи то Rider для C#, чи то PyCharm для Python — дуже схожий. Це означає, що, навчившись працювати з Git в одному середовищі, ви зможете легко застосовувати ці навички в будь‑якому іншому. Тому ми використовуватимемо IntelliJ IDEA як універсальний приклад. Усе, що ви побачите тут, виглядатиме й працюватиме так само і у вашій улюбленій IDE.

Щоб працювати з Git на вашому комп’ютері, спершу потрібно його встановити. Якщо ви використовуєте IntelliJ IDEA, вона, швидше за все, запропонує встановити Git автоматично, якщо його не знайдено в системі. Ми рекомендуємо погодитися з цією пропозицією — це найпростіший шлях.

Закрийте поточний проєкт, обравши File > Close Project, і натисніть Clone Repository.

Якщо ж ви хочете встановити Git вручну, скористайтеся офіційним сайтом: https://git-scm.com/downloads.

8. Трохи історії: main vs master

Раніше гілка в Git за замовчуванням називалася master. Однак у 2020 році спільнота розробників і найбільші платформи, зокрема GitHub, перейшли на використання нейтральнішого терміна — main.

Це важливо знати, адже в деяких старих статтях або проєктах ви й досі можете зустріти згадку про гілку master. У наших лекціях і в сучасних проєктах основною гілкою завжди буде main.

Докладніше про перехід на main можна дізнатися за такими посиланнями:

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