pre-commit haqida
pre-commitni nega ishlatishimiz kerak?
Tasavvur qiling siz jamoa bilan ishlaysiz va kod yozishda ma’lum standartlarga rioya qilasiz. Doimiy ravishda linter/formatterlardan foydalanasiz va har safar kodni push qilishdan oldin bularni tekshirishingiz kerak. Buni avtomatik tarzda bajarish uchun esa pre-commit juda yaxshi yechim. U kodga git commit berishingizdan oldin belgilangan tekshiruvlarni avtomatik bajaradi.
Bularga:
- Kodni lintingdan o’tkazish
- Avtomatik formatlash (Black, Prettier va hkz…)
- Katta hajmli fayllarni tekshirish
- Maxfiy kalit yoki parollarni commit qilinishidan saqlash
- Kodingiz standartlarga mosligini tekshirish
- Unit testlar
- Va boshqalar…
To’liqroq vebsaytda: https://pre-commit.com/
pre-commit qanday ishlaydi?
Project folderda .pre-commit-config.yaml fayli bo’ladi va kerakli hooklar/vazifalar yoziladi, har gal git commit yozilganda belgilangan hooklar ishga tushadi.
Basic setup:
- Install qilib olamiz:
pip install pre-commit
- .pre-commit-config.yaml yaratamiz:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 24.3.0
hooks:
- id: black
Bu yerda hohlagancha kerakli amallarni qo’shishimiz mumkin.
- Git hook uchun install qilamiz:
pre-commit install
Endi har safar git commit qilganingizda hooklar avtomatik ishlaydi.
Support qilinadigan boshqa hooklarni shu yerdan topsangiz bo’ladi: https://pre-commit.com/hooks.html
pre-commitni manual/qo’lda ishlatish
- Barcha fayllar uchun:
pre-commit run --all-files
- Individual:
pre-commit run <hook_id> --files <filename>
Xulosa
pre-commit — jamoaviy ishlash uchun va doimiy standartlarni ushlab turish uchun yaxshi yechim. U bilan doim mayda kamchiliklarni fix qilib keta olasiz.