План уроку:
Робота із файлами. Стан файлів
Віддалений репозиторій
Розгалуження та злиття
GitHub Flow
Робота із файлами. Стан файлів
Index
Індекс — це спеціальна проміжна область, у якій зберігаються зміни файлів на шляху від робочої директорії до репозиторію. Тільки файл із індексу потрапляють у коміт.
git status
.gitignore
.gitignore – файл, що дозволяє вказувати, що в репозиторії не слід відстежувати.
Що ігнорують:
• скомпільований вихідний код;
• пакети та стислі файли;
• логи;
• бази даних;
• допоміжні файли систем розробки (Visual Studio).
.gitignore приклад
# Виключити всі файли з розширення .a
*.a
# Але відстежувати файл lib.a, навіть якщо він підпадає під виняток вище
!lib.a
# Виключити файл TODO у кореневій директорії, але не файл у subdir/TODO
/TODO
# Ігнорувати всі файли в директорії build/ build/
# Ігнорувати файл doc/notes.txt, але не doc/server/arch.txt
doc/*.txt
Віддалений репозиторій
Популярні рішення
GitHub
Найбільший веб-сервіс для хостингу IT-проектів та їхньої спільної розробки. Веб-сервіс заснований на системі контролю версій Git та розроблений на Ruby on Rails та Erlang компанією GitHub, Inc.
Створення репозиторію на GitHub
Команди
git clone <url> клонування віддаленого репозиторію.
git push <remote> <local_brunch> відправка всіх змін до <local_brunch> на віддалений репозиторій.
git fetch <remote> вилучення змін з віддаленого репозиторію до локального. Не оновлює робочу область.
git pull <remote> вилучення та інтеграція змін з віддаленого репозиторію до локального. Оновлює робочу область.
Розгалуження та злиття
Розгалуження
Команди
git branch <name> Створює нову гілку, тобто новий покажчик на поточний коміт.
git checkout <branch_name> Перемикає на іншу гілку
git checkout -b <branch_name> Створює гілку та перемикає на неї однією командою
git merge <branch_name> ливає цільову гілку в поточну <branch_name> - ім'я гілки зміни, яку ви хочете влити в поточну
Конфлікти злиття
Конфлікт злиття відбувається, коли, одну і ту ж саму частину коду змінювали в обох гілках, що зливаються до однієї.
Якщо git самостійно не може вирішити, які зміни будуть результатом злиття – необхідно робити це вручну.
Стратегії розгалуження
Стратегія розгалуження – це набір правил та умов згідно з якими команда працює з git.
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Урок 11. Основи Git 2
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩
Опис завдання:
Валідатор паролів повинен перевіряти вхідний пароль на відповідність заданим правилам безпеки.
Правила безпеки для паролів:
Пароль повинен містити щонайменше 8 символів.
Пароль повинен містити щонайменше одну велику літеру.
Пароль повинен містити щонайменше одну малу літеру.
Пароль повинен містити щонайменше одну цифру.
Пароль може містити спеціальні символи (!, @, #, $, %, ^, &, *).
Завдання:
Визначте класи еквівалентності для валідатора паролів на основі правил безпеки.