← На головну
контроль версій / git

Кожна зміна залишає слід.

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

Схема гілок Git: master, branch, new_feature, merge

01Що таке системи контролю версій

Система контролю версій (Version Control System, VCS) — це інструмент, який фіксує зміни у файлах проєкту з часом. Вона дозволяє повернутися до будь-якої попередньої версії, побачити, хто і коли вніс зміну, а також об'єднувати роботу кількох людей в одному проєкті без втрати даних.

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

02Основні можливості та переваги

Те, що робить Git стандартом у розробці програмного забезпечення.

Розподілена архітектура

Повна історія проєкту зберігається локально в кожного учасника — робота не залежить від одного сервера.

Гілки та злиття

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

Цілісність даних

Кожен коміт має унікальний хеш SHA-1, тому будь-яка зміна історії одразу помітна.

Швидкість

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

Командна робота

Кілька розробників можуть одночасно працювати над проєктом і безпечно об'єднувати результати.

Відкритість і безкоштовність

Git — вільне програмне забезпечення з великою спільнотою та інтеграцією в GitHub, GitLab, Bitbucket.

0310 базових команд Git

Мінімальний набір команд, достатній для щоденної роботи з репозиторієм.

tander@laptop — bash
# типовий цикл роботи з репозиторієм
$ git checkout -b feature/login
$ git add .
$ git commit -m "додано форму входу"
$ git push origin feature/login
01git initСтворює новий порожній репозиторій Git у поточній теці.
02git clone [url]Копіює існуючий репозиторій із віддаленого сервера на локальний комп'ютер.
03git statusПоказує стан робочої директорії: які файли змінені, додані чи ще не відстежуються.
04git add [файл]Додає зміни у файлі до індексу (staging area) перед комітом.
05git commit -m "..."Фіксує додані зміни в історії репозиторію з описовим повідомленням.
06git logВиводить історію комітів: автора, дату та повідомлення кожного з них.
07git branch [назва]Створює нову гілку для ізольованої розробки функції без впливу на основний код.
08git checkout [гілка]Перемикає робочу директорію на вказану гілку або коміт.
09git merge [гілка]Об'єднує зміни з указаної гілки в поточну.
10git push / git pullНадсилає локальні коміти на віддалений репозиторій або завантажує зміни з нього.

04Сертифікат курсу

Підтвердження проходження курсу з основ Git.

Сертифікат курсу з Git

Замініть файл certificate.png у корені репозиторію на власний скан або скріншот сертифіката.

05Джерела інформації