01Що таке системи контролю версій
Система контролю версій (Version Control System, VCS) — це інструмент, який фіксує зміни у файлах проєкту з часом. Вона дозволяє повернутися до будь-якої попередньої версії, побачити, хто і коли вніс зміну, а також об'єднувати роботу кількох людей в одному проєкті без втрати даних.
Git з'явився у 2005 році — його створив Лінус Торвальдс для розробки ядра Linux, коли команді знадобився швидкий і надійний спосіб координувати роботу тисяч розробників. На відміну від централізованих систем, Git — розподілена: кожен розробник має повну копію історії проєкту на своєму комп'ютері, тому працювати можна навіть без підключення до мережі.
02Основні можливості та переваги
Те, що робить Git стандартом у розробці програмного забезпечення.
Розподілена архітектура
Повна історія проєкту зберігається локально в кожного учасника — робота не залежить від одного сервера.
Гілки та злиття
Створення гілок майже нічого не коштує, тому нові функції розробляють ізольовано, а потім об'єднують у основну гілку.
Цілісність даних
Кожен коміт має унікальний хеш SHA-1, тому будь-яка зміна історії одразу помітна.
Швидкість
Більшість операцій виконуються локально, тому Git працює значно швидше за централізовані аналоги.
Командна робота
Кілька розробників можуть одночасно працювати над проєктом і безпечно об'єднувати результати.
Відкритість і безкоштовність
Git — вільне програмне забезпечення з великою спільнотою та інтеграцією в GitHub, GitLab, Bitbucket.
0310 базових команд Git
Мінімальний набір команд, достатній для щоденної роботи з репозиторієм.
# типовий цикл роботи з репозиторієм $ git checkout -b feature/login $ git add . $ git commit -m "додано форму входу" $ git push origin feature/login
git initСтворює новий порожній репозиторій Git у поточній теці.git clone [url]Копіює існуючий репозиторій із віддаленого сервера на локальний комп'ютер.git statusПоказує стан робочої директорії: які файли змінені, додані чи ще не відстежуються.git add [файл]Додає зміни у файлі до індексу (staging area) перед комітом.git commit -m "..."Фіксує додані зміни в історії репозиторію з описовим повідомленням.git logВиводить історію комітів: автора, дату та повідомлення кожного з них.git branch [назва]Створює нову гілку для ізольованої розробки функції без впливу на основний код.git checkout [гілка]Перемикає робочу директорію на вказану гілку або коміт.git merge [гілка]Об'єднує зміни з указаної гілки в поточну.git push / git pullНадсилає локальні коміти на віддалений репозиторій або завантажує зміни з нього.04Сертифікат курсу
Підтвердження проходження курсу з основ Git.
Замініть файл certificate.png у корені репозиторію на власний скан або скріншот сертифіката.
05Джерела інформації
- Офіційна документація Gitgit-scm.com
- Pro Git — безкоштовна книгаgit-scm.com/book
- GitHub Docs — Get starteddocs.github.com
- Atlassian Git Tutorialsatlassian.com