Skip to content

Git Flow ​

🧠 Π‘ΡƒΡ‚ΡŒ ​

БтратСгия Π²Π΅Ρ‚ΠΎΠΊ для чистой истории: Ρ„ΠΈΡ‡ΠΈ β†’ preprod β†’ master.

πŸ’» Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π²Π΅Ρ‚ΠΎΠΊ ​

master        ← ΠΏΡ€ΠΎΠ΄, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· PR
preprod       ← staging, тСст ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ΅Ρ€ΠΆΠ΅ΠΌ
feature/xxx   ← Ρ„ΠΈΡ‡Π° ΠΈΠ»ΠΈ фикс

πŸ’» Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ​

bash
# 1. Новая Ρ„ΠΈΡ‡Π° β€” Π²Π΅Ρ‚Π²ΠΈΡΡŒ ΠΎΡ‚ master
git checkout master
git pull origin master
git checkout -b feature/add-auth

# 2. Π Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ, ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡˆΡŒ ΠΏΠΎ таскам (см. Π½ΠΈΠΆΠ΅)

# 3. Π“ΠΎΡ‚ΠΎΠ²ΠΎ β€” ΠΏΡƒΡˆ ΠΈ PR Π² preprod
git push origin feature/add-auth
# GitHub: PR feature/add-auth β†’ preprod

# 4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Π½Π° staging β†’ PR preprod β†’ master

πŸ’» ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎ таскам ​

Один таск β€” ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚. НС ΠΊΠΎΠΏΠΈ измСнСния ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Ρ„ΠΈΡ‡ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π€ΠΎΡ€ΠΌΠ°Ρ‚:

Ρ‚ΠΈΠΏ: ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ описаниС

feat: add user auth
fix: broken redirect after login
chore: update dependencies
docs: add API examples
refactor: extract auth middleware

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ:

  • git bisect Π½Π°ΠΉΠ΄Ρ‘Ρ‚ сломанный ΠΊΠΎΠΌΠΌΠΈΡ‚ Π·Π° сСкунды
  • Rollback ΠΎΠ΄Π½ΠΎΠ³ΠΎ таска Π±Π΅Π· ΠΎΡ‚ΠΊΠ°Ρ‚Π° сосСдних
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ читаСтся ΠΊΠ°ΠΊ changelog

ΠŸΠ»ΠΎΡ…ΠΎ:

bash
git commit -m "changes"
git commit -m "fix"
git commit -m "wip"

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

bash
git commit -m "feat: add login form"
git commit -m "feat: add JWT token validation"
git commit -m "fix: redirect loop on /dashboard"

πŸ’» Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ rebase ΠΏΠ΅Ρ€Π΅Π΄ PR ​

ΠŸΡ€ΠΈΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ΅Ρ€ΠΆΠ΅ΠΌ β€” ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ WIP ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹:

bash
# ПослСдниС 3 ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git rebase -i HEAD~3

Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅:

pick abc1234 feat: add login form
squash def5678 wip: fix typo        ← склСится с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ
squash ghi9012 fix: forgot semicolon ← Ρ‚ΠΎΠΆΠ΅

⚠️ ΠŸΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ​

  • Никогда Π½Π΅ rebase master ΠΈ preprod β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ feature Π²Π΅Ρ‚ΠΊΠΈ
  • Squash Ρ‚ΠΎΠ»ΡŒΠΊΠΎ WIP ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ β€” осмыслСнныС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΠΉ
  • preprod Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ master β€” синхронизируй рСгулярно

Built with VitePress