← До фільтрів та технологій

← До списку лабораторних по Git

Git Лабораторна 50: Автоматизація lint та форматування

Технологія: Git

Номер лабораторної: 50 · Рівень: middle

Тема: Інтеграція Git з перевірками коду у pre-commit

Повний опис / сценарій лабораторної:

Мета: навчитися інтегрувати перевірки коду з Git так, щоб коміт блокувався при порушенні стилю або помилках.



Крок 1. Встановити фреймворк pre-commit.

Команда: pip install pre-commit --user 2>/dev/null || echo "встановіть через пакетний менеджер своєї системи"



Крок 2. Перейти до репозиторію.

Команда: cd ~/git_lab1



Крок 3. Створити файл .pre-commit-config.yaml.

Команда: nano .pre-commit-config.yaml



Крок 4. Додати базові hook, наприклад перевірку кінців рядків і відсутність зайвих пробілів.

Приклад вмісту з офіційного репозиторію pre-commit можна скоротити до кількох простих hook.



Крок 5. Ініціалізувати pre-commit у репозиторії.

Команда: pre-commit install

Пояснення: створюється відповідний hook у .git/hooks.



Крок 6. Зробити невелику зміну з навмисними порушеннями стилю, наприклад пробіли у кінці рядка.

Команда: echo "lint test   " >> lint50.txt



Крок 7. Спробувати закомітити зміну.

Команди: git add lint50.txt; git commit -m "Test pre-commit"

Пояснення: hook має або виправити файл, або заблокувати коміт.



Крок 8. Переглянути лог виконання hook.

Пояснення: pre-commit показує які перевірки виконано і які пройшли.



Крок 9. Виправити помилки і повторити коміт.

Пояснення: після виправлення коміт має пройти успішно.



Крок 10. Міні звіт.

Завдання: опишіть які перевірки ви додасте для свого проєкту, наприклад форматування коду або запуск тестів.