Git Commit Convention
RS School использует Conventional Commits с дополнением — timestamp в скобках в конце каждого commit-сообщения.
Формат
<type>: <description> (<weekday>, <month> <date>, <year> <time>)
Типы
| Тип | Когда |
|---|---|
init |
первый коммит / старт задачи |
feat |
новая функциональность |
fix |
багфикс |
refactor |
рефакторинг без изменения поведения |
style |
форматирование, CSS-правки, не затрагивающие логику |
docs |
README, комментарии |
chore |
конфиги, зависимости, инфраструктура |
test |
тесты |
perf |
оптимизация производительности |
Примеры
init: start cssMemeSlider-task (Mon, Sep 13, 2021 10:12:24 PM)
feat: add basic page layout (Mon, Sep 13, 2021 10:25:24 PM)
fix: correct mobile breakpoint at 500px (Tue, Sep 14, 2021 09:30:11 AM)
style: tune slider transition timing (Tue, Sep 14, 2021 09:45:00 AM)
Shell-сниппет для timestamp
Linux/macOS
git commit -m "feat: add slider controls $(LC_ALL=C date '+(%a, %b %d, %Y %r)')"
Windows PowerShell
git commit -m "feat: add slider controls $(Get-Date -Format '(ddd, MMM dd, yyyy hh:mm:ss tt)')"
Windows Git Bash
git commit -m "feat: add slider controls $(LC_ALL=C date '+(%a, %b %d, %Y %r)')"
Требования к истории
- Минимум 5 коммитов на задачу (для CSS Meme Slider, для остальных — больше)
- История должна отражать реальный процесс, не "один dump-коммит в конце"
- За dump-историю в JS30 и HTML Builder есть штраф
-10