Git Flow β
π§ Π‘ΡΡΡ β
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Π²Π΅ΡΠΎΠΊ Π΄Π»Ρ ΡΠΈΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ: ΡΠΈΡΠΈ β staging β preprod β master.
π» Π‘ΡΡΡΠΊΡΡΡΠ° Π²Π΅ΡΠΎΠΊ β
master β ΠΏΡΠΎΠ΄, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· PR
preprod β ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠ΅ΡΠΆΠ΅ΠΌ Π² master
staging β ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΡ, ΡΡΠ΄Π° ΠΌΠ΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ ΡΠΈΡΠΈ
feature/xxx β ΡΠΈΡΠ°
fix/xxx β Π±Π°Π³
task/xxx β Π·Π°Π΄Π°ΡΠ° Π±Π΅Π· ΡΠ²Π½ΠΎΠΉ ΡΠΈΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π³Π°π» Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ β
bash
# 1. ΠΠΎΠ²Π°Ρ Π·Π°Π΄Π°ΡΠ° β Π²Π΅ΡΠ²ΠΈΡΡ ΠΎΡ master (Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π΅ΠΆΠ°Ρ Π±Π°Π·Π°)
git checkout master
git pull origin master
git checkout -b feature/add-auth
# 2. Π Π°Π±ΠΎΡΠ°Π΅ΡΡ β ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΡ ΡΠΈΡΡ (ΡΠΌ. Π½ΠΈΠΆΠ΅)
# 3. ΠΠΎΡΠΎΠ²ΠΎ β ΠΏΡΡ ΠΈ PR Π² staging
git push origin feature/add-auth
# GitHub: PR feature/add-auth β staging
# 4. ΠΡΠΎΠ²Π΅ΡΠΈΠ» Π½Π° staging β PR staging β preprod β masterπ» ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ β
ΠΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠΉ ΡΠΌΡΡΠ»ΠΎΠ²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ β Π½Π΅ ΠΆΠ΄ΠΈ ΠΏΠΎΠΊΠ° Π½Π°ΠΊΠΎΠΏΠΈΡΡΡ ΠΊΡΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
β
ΠΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ β ΠΊΠΎΠΌΠΌΠΈΡ
β
ΠΠΎΡΠΈΠ½ΠΈΠ» Π±Π°Π³ β ΠΊΠΎΠΌΠΌΠΈΡ
β
ΠΠ±Π½ΠΎΠ²ΠΈΠ» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ β ΠΊΠΎΠΌΠΌΠΈΡ
β
ΠΠΎΠΏΡΠ°Π²ΠΈΠ» ΠΊΠΎΠ½ΡΠΈΠ³ β ΠΊΠΎΠΌΠΌΠΈΡ
β "Π‘Π΄Π΅Π»Π°Π» Π²ΡΡ Π·Π° Π΄Π΅Π½Ρ" β ΠΎΠ΄ΠΈΠ½ ΠΆΠΈΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
β WIP Π½Π° Π²Π΅ΡΡ Π΄Π΅Π½Ρ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ:
- ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ β ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, Π° Π½Π΅ Π²Π΅ΡΡ Π΄Π΅Π½Ρ ΡΠ°Π±ΠΎΡΡ
git bisectΠ½Π°ΠΉΠ΄ΡΡ ΡΠ»ΠΎΠΌΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ- ΠΡΡΠΎΡΠΈΡ ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
π» Π€ΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° β
[SCOPE] Title β ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ β Π΄ΠΎ 72 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
Motivation:
ΠΠ΄Π½ΠΎ-Π΄Π²Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ β Π·Π°ΡΠ΅ΠΌ, Π° Π½Π΅ ΡΡΠΎ.
Changes:
- Fixed ...
- Added ...
- Updated ...
- Removed ...[SCOPE] β ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: [CMS], [Auth], [API], [UI], [Config], [Deps]
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:
- ΠΠΎ 72 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² β GitHub ΠΎΠ±ΡΠ΅Π·Π°Π΅Ρ Π΄Π»ΠΈΠ½Π½Π΅Π΅
- ΠΠ»Π°Π³ΠΎΠ» Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΠΊΠ²Ρ:
Fix,Add,Update,Remove - ΠΠ΅Π· ΡΠΎΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅
Motivation:
- ΠΠ°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Π½ΠΎ β ΠΏΡΠΈΡΠΈΠ½Π°, Π° Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
- 1β2 ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
Changes:
- ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ: ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΡΠ΄Π°Π»Π΅Π½ΠΎ
π» ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β
ΠΠ»ΠΎΡ ΠΎ:
fix
changes
wip
update stuffΠ₯ΠΎΡΠΎΡΠΎ β ΠΏΡΠΎΡΡΠΎΠΉ:
[Auth] Fix redirect loop after loginΠ₯ΠΎΡΠΎΡΠΎ β Ρ ΡΠ΅Π»ΠΎΠΌ:
[CMS] Fix icon rendering and update plugin version
Motivation:
Resolve incorrect icon display caused by outdated plugin behavior.
Changes:
- Fixed icon rendering issue
- Updated plugin dependency version
- Synced composer configurationπ» Π’ΠΈΠΏΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Changes β
| ΠΠ»Π°Π³ΠΎΠ» | ΠΠΎΠ³Π΄Π° |
|---|---|
Added | ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠ°ΡΡΡΡΡ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ |
Fixed | ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π³Π° ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ |
Updated | ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° / Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ |
Removed | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΉΠ»Π°, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ |
Refactored | ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ |
Synced | ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Π° / Π»ΠΎΠΊΠΊΠΈ ΠΏΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ |
π» ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° git β
bash
# ΠΠΌΡ ΠΈ email (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
# ΠΠ»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π±Π΅Π· --global) β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ
git config user.name "Work Name"
git config user.email "work@company.com"
# Π Π΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ commit-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
git config --global core.editor "nano" # ΠΈΠ»ΠΈ: code --wait, nvim, vim
# ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ diff ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git config --global commit.verbose trueΠ¨Π°Π±Π»ΠΎΠ½ ΠΊΠΎΠΌΠΌΠΈΡΠ° β ΡΡΡΡΠΊΡΡΡΠ° Π²ΡΠ΅Π³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ ΠΏΡΠΈ git commit:
bash
cat > ~/.git-commit-template << 'EOF'
# [SCOPE] Title β Π΄ΠΎ 72 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
# |<---- 72 ΡΠΈΠΌΠ²ΠΎΠ»Π° ---------------------------------------------------->|
Motivation:
Changes:
-
EOF
git config --global commit.template ~/.git-commit-templateΠ’Π΅ΠΏΠ΅ΡΡ git commit (Π±Π΅Π· -m) ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ.
β οΈ ΠΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ β
- ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ rebase
master,preprod,stagingβ ΡΠΎΠ»ΡΠΊΠΎ feature-Π²Π΅ΡΠΊΠΈ staging/preprodΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡ ΠΎΠ΄ΠΈΡΡ Π²ΠΏΠ΅ΡΡΠ΄masterβ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠΉ ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΆΠ°- ΠΠ»ΠΈΠ½Π½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (>72 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²) GitHub ΠΎΠ±ΡΠ΅Π·Π°Π΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
git commit -m "..."Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉgit commitΠ±Π΅Π· ΡΠ»Π°Π³Π°