JavaRush /Курси /Модуль 1: Python Core /Основи роботи з Git

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

Модуль 1: Python Core
Рівень 7 , Лекція 8
Відкрита

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:

Репозиторій

Репозиторій (або "репо") — це місце, де зберігається вся історія проекту, включно з усіма змінами та версіями файлів. У 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 підтримує велике співтовариство розробників, у якому активно обговорюються найкращі практики програмування, керування проектами і багато іншого. Це робить його не лише інструментом для керування проектами, а й центром співтовариства, де розробники можуть обмінюватися знаннями та досвідом.

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 на ваш комп'ютер

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

Якщо використовуєте PyCharm, не обов'язково встановлювати git окремо. Якщо PyCharm виявить, що 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).

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

Коментарі (1)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Pavlo Kushnir Рівень 2
3 червня 2025
Вам потрібен літературний редактор та коретор для української версії сайту. Напр., вислів "грубо кажучи" є примитивізмом. Краще, тобто більш літературно, казати "умовно кажучи" або "приблизно", або... Варіантів багато.