From fc8de5b9983977f3722e10aabe86edd52287e6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D1=83=D1=87?= =?UTF-8?q?=D0=BD=D0=B5=D0=B2?= Date: Sat, 31 May 2025 15:24:22 +0300 Subject: [PATCH] docs(git-flow): add README.md --- git-flow/README.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 git-flow/README.md diff --git a/git-flow/README.md b/git-flow/README.md new file mode 100644 index 0000000..940526e --- /dev/null +++ b/git-flow/README.md @@ -0,0 +1,67 @@ +# πŸ› οΈ Conventional Commits + +**Git Flow** β€” это удобная модСль вСтвлСния, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, раздСляя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΡ‡, исправлСниС Π±Π°Π³ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π°. + +--- +## πŸ“‚ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ +| Π’Π΅Ρ‚ΠΊΠ° | НазначСниС | +|-------------|----------------------------------------------------| +| `main` | Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½) | +| `develop` | ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ вСрсия с послСдними измСнСниями (Π΄Π΅Π²) | +--- +## 🌱 Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ + +| Π’ΠΈΠΏ Π²Π΅Ρ‚ΠΊΠΈ | ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ | НазначСниС | +|----------------|----------------|-----------------------------------------------------------| +| Feature | `feature/` | Новая Ρ„ΠΈΡ‡Π° ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ | +| Bugfix | `bugfix/` | Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибки (Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) | +| Hotfix | `hotfix/` | Π‘Ρ€ΠΎΡ‡Π½ΠΎΠ΅ исправлСниС ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ошибки | +| Release | `release/` | ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ (фикс Π±Π°Π³ΠΎΠ², Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ) | + +--- + +## πŸ› οΈ Git Flow CLI +### πŸš€ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Git Flow +Один Ρ€Π°Π· Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: +```bash +git flow init +git flow init --force # для пСрСзапуска ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ +``` +Для прСфикса ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ `v`, с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ прСдлоТСниями ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ +### 🌱 Π Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ +НазваниСм Π²Π΅Ρ‚ΠΊΠΈ выставляСм ID Π·Π°Π΄Π°Ρ‡ΠΈ/ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π² redmine/trello +#### πŸ”§ ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„ΠΈΡ‡Ρƒ: +```bash +git flow feature start Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ, ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ +git flow feature finish Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Π€ΠΈΡ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡ‚Π° Π² develop +``` +#### πŸ› οΈ ΠΠ°Ρ‡Π°Ρ‚ΡŒ багфикс (Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ): +```bash +git flow bugfix start Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ +git flow bugfix finish Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Ѐикс Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡ‚ Π² develop +``` +#### πŸš€ ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·: +```bash +git flow release start x.x.x +# вносим ΠΏΡ€Π°Π²ΠΊΠΈ, тСстим, пишСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚Π΄. +git flow release finish x.x.x +# Π Π΅Π»ΠΈΠ· Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡ‚ Π² main ΠΈ develop +# Π‘ΡƒΠ΄Π΅Ρ‚ создан Git-Ρ‚Π΅Π³ x.x.x +``` +#### πŸ”₯ ΠΠ°Ρ‡Π°Ρ‚ΡŒ хотфикс (Π½Π° ΠΏΡ€ΠΎΠ΄Π΅): +```bash +git flow hotfix start urgent Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ +git flow hotfix finish Π½Π°Π·Π²Π°Π½ΠΈΠ΅ +# Π’Π΅Ρ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡ‚Π° Π² main ΠΈ develop +# Π‘ΡƒΠ΄Π΅Ρ‚ создан Git-Ρ‚Π΅Π³ +``` +## βœ… Подсказки +- ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (finish) cli ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ½Π΅Ρ‚ вас Π½Π° написаниС `merge-request`. Π£ вас откроСтся MR Ρ„Π°ΠΉΠ» +Ρ‡Π΅Ρ€Π΅Π· `vim` ΠΈΠ»ΠΈ `nano`. НС ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв достаточно ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. +- Иногда ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (finish) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹. Π’ΡƒΡ‚ зависит ΠΎΡ‚ IDE. +Π’ JetBrains IDE ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ окошко для Ρ€Π΅Π·ΠΎΠ»Π²Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².