← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: навчитися створювати простий pre-commit hook який блокує коміт при порушенні базових правил. Крок 1. Перейти у директорію hooks. Команда: cd ~/git_lab1/.git/hooks Пояснення: тут зберігаються шаблони git hooks. Крок 2. Створити файл pre-commit. Команда: nano pre-commit Пояснення: у цьому скрипті можна виконувати перевірки. Крок 3. Додати простий код перевірки. Приклад вмісту: #!/usr/bin/env bash if git diff --cached | grep "TODO" >/dev/null; then echo "Коміт заблоковано через TODO у змінених файлах" exit 1 fi exit 0 Крок 4. Зробити файл виконуваним. Команда: chmod +x pre-commit Крок 5. Повернутися до кореня репозиторію. Команда: cd ~/git_lab1 Крок 6. Додати рядок з TODO у будь який файл і закомітити. Команди: echo "TODO: fix later" >> readme.txt; git add readme.txt; git commit -m "Test hook" Пояснення: коміт має бути заблокований повідомленням hook. Крок 7. Видалити або виправити TODO і повторити коміт. Команди: sed -i "/TODO/d" readme.txt; git add readme.txt; git commit -m "Commit without TODO" Пояснення: тепер pre-commit дозволить збереження змін. Крок 8. Переглянути журнал. Команда: git log --oneline -n 3 Пояснення: бачимо тільки успішний коміт без TODO. Крок 9. Обговорити обмеження локальних hook у команді. Пояснення: hooks не передаються автоматично разом з репозиторієм. Крок 10. Міні звіт. Завдання: опишіть які перевірки ви б додали у pre-commit для проєкту на Python або Node.js.