🧱 Π‘ΡƒΡ‚ΡŒ

Conventional Commits – это соглашСниС ΠΏΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².
Π€ΠΎΡ€ΠΌΠ°Ρ‚:

type: description

НапримСр:

git commit -m "feat: add weather history"

Главная идСя: ΠΏΠΎ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° сразу понятно, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ Π·Π°Ρ‡Π΅ΠΌ.

πŸ“¦ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

1. ΠŸΠΎΠ½ΡΡ‚Π½Π°Ρ история ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΠ»ΠΎΡ…Π°Ρ история:

update
fix
changes
test

НСпонятно:

  • Ρ‡Ρ‚ΠΎ измСнилось;
  • Π·Π°Ρ‡Π΅ΠΌ Π±Ρ‹Π» сдСлан ΠΊΠΎΠΌΠΌΠΈΡ‚;
  • ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅Π³ΠΎ бСзопасно ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ история:

feat: add user authentication
fix: handle empty api response
refactor: extract weather service

Π‘Ρ€Π°Π·Ρƒ Π²ΠΈΠ΄Π½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

2. Удобная Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅

Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ измСнСния:

feat β†’ новая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
fix β†’ исправлСниС ошибки
refactor β†’ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры ΠΊΠΎΠ΄Π°

3. Автоматизация

Conventional Commits ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для:

  • Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ changelog;
  • автоматичСского опрСдСлСния вСрсии;
  • настройки CI/CD.

НапримСр:

feat:

ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

fix:

ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ исправлСниС ΠΏΠ°Ρ‚Ρ‡-вСрсии.

βœ… РСшСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ соглашСнию.

Π’ΠΈΠΏΠΠ°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€
featНовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒfeat: add search filter
fixΠ˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибкиfix: prevent empty submit
refactorИзмСнСниС кода бСз измСнСния повСдСнияrefactor: simplify auth service
docsДокумСнтацияdocs: update api guide
styleΠ€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°style: format components
testΠ”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ тСстовtest: add login tests
choreВСхничСскиС Π·Π°Π΄Π°Ρ‡ΠΈchore: update dependencies

πŸ’» ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для frontend-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Новый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚:

git commit -m "feat: add weather card component"

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π³Π°:

git commit -m "fix: handle api timeout"

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³:

git commit -m "refactor: move api logic to service layer"

ИзмСнСниС зависимостСй:

git commit -m "chore: update npm packages"

ДокумСнтация:

git commit -m "docs: add project setup instructions"

ΠŸΠ»ΠΎΡ…ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

fix
update
changes
new version
asdf
minor fixes

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°:

  • Π½Π΅Ρ‚ контСкста;
  • нСпонятно Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
  • история ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° становится бСсполСзной.

ΠŸΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:
βœ… ΠΎΠ΄Π½ΠΎ логичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
βœ… ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ описаниС
βœ… понятный Ρ‚ΠΈΠΏ измСнСния
βœ… настоящСС врСмя

НапримСр:

Π₯ΠΎΡ€ΠΎΡˆΠΎ:

feat: add drag and drop for kanban cards

ΠŸΠ»ΠΎΡ…ΠΎ:

added some stuff for kanban

🎯 Π’Ρ‹Π²ΠΎΠ΄

Conventional Commits ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚:

  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‡ΠΈΡΡ‚ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Git;
  • быстрСС ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ измСнСния;
  • Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅;
  • Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСссы.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт:

feat: новая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
fix: исправлСниС Π±Π°Π³Π°
refactor: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры ΠΊΠΎΠ΄Π°
chore: тСхничСскиС измСнСния

πŸ”— Бвязано