Skip to content

๐Ÿš€ HMH Git flow

Zoe edited this page Jan 4, 2024 · 6 revisions

1๏ธโƒฃย Branch

default ๋ธŒ๋žœ์น˜ : develop

Git Flow

gitbranch

  1. ๊ฐ์ž ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜๋ฅผ develop์—์„œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (์ตœ์‹ ํ™” ํ•„์ˆ˜)
  • ์ž‘์—…์ด ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ, 1) develop checkout 2) Merge develop into ๋‚ด ๋ธŒ๋žœ์น˜
  • ๋‚ด ๋ธŒ๋žœ์น˜์— develop์— ๋จธ์ง€๋œ ์‚ฌํ•ญ๋“ค์ด ์—…๋ฐ์ดํŠธ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!
  1. ์ปค๋ฐ‹์€ ์ตœ๋Œ€ํ•œ ์ชผ๊ฐœ์„œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์ž‘์—…์ด ๋๋‚œ ํ›„ Pull Request๋ฅผ ํ†ตํ•ด 2๊ฐœ์˜ Approve๋ฅผ ๋ฐ›์€ ๋ธŒ๋žœ์น˜๋ฅผ develop์— mergeํ•ฉ๋‹ˆ๋‹ค.
  3. Release Version์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ main ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Branch Role

  • main : release ๊ด€๋ฆฌ, ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜
  • develop(default) : feature ์ž‘์—…์„ ํ•ฉ์น˜๋Š” ๋ธŒ๋žœ์น˜, ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
  • feature : ๋‹จ์œ„ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜, ์™„๋ฃŒ๋˜๋ฉด develop์— ๋จธ์ง€๋จ

Branch naming role

prefix /#issueNumber/ ์ž‘์—…ํ•œ view

  • ํด๋”๋ง
    • feat : ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • network : ๋„คํŠธ์›Œํฌ
    • fix : ๊ฐ„๋‹จํ•œ ์ˆ˜์ •
    • set : ํ”Œ์  ์„ธํŒ…๊ณผ ๊ฐ™์€ ์„ธํŒ…
  • ์ด์Šˆ๋ฒˆํ˜ธ
  • ์ž‘์—… ์š”์•ฝ
  • ์˜ˆ์‹œ
    • feat/#13-homeSearchbarUI
    • network/#42-homeGetTag
feat/#1-calendarView

2๏ธโƒฃย Issue

  • ํ•„์ˆ˜ : Assignees(๋ณธ์ธ), Labels, Project, MileStone ์„ค์ • ํ•„์ˆ˜
  • ์ด์Šˆ ์ƒ์„ฑ ํ›„ Project์˜ status, priority, Size๋ฅผ ์„ค์ •ํ•ด์ฃผ์„ธ์š”!
์ด๋ฏธ์ง€ ์„ค๋ช…
issu Labels : Prefix์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
์ฃผ์š” ์—ญํ• ์„ prefix๋กœ ์ž‘์„ฑํ•˜๊ณ 
๋ถ€๊ฐ€์ ์ธ ํด๋”๋ง์„ ์œ„ํ•ด ์ถ”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
Priority
- AppJam๐ŸŽ
- 1st Sprint
- 2nd Sprint
Size : ์ด์Šˆ์˜ ํฌ๊ธฐ๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
- XS, S: ์ž‘์€ ์˜ค๋ฅ˜ ์ˆ˜์ •, ์ ์€์–‘์˜ ์ฝ”๋“œ ๋ณ€ํ™”๋งŒ ์žˆ์„ ๋•Œ
- M : ์˜ค๋ฅ˜ ์ˆ˜์ •, ์ฝ”๋“œ ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
- L, XL : ํ•˜๋‚˜์˜ Feature๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ
Milestone : 1์ฐจ ์Šคํ”„๋ฆฐํŠธ๋กœ ์„ค์ •

Prefix

  • [Feat] โ†’ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • [Style] โ†’ ์ปค์Šคํ…€ ๋ทฐ ์งœ๊ธฐ

  • [Fix] โ†’ ์˜ค๋ฅ˜ ๊ณ ์น˜๋Š” ๊ฒƒ / ์ˆ˜์ •์šฉ

  • [Set] โ†’ ์„ธํŒ…ํ•  ์‹œ

  • [Network] โ†’ api ๋ถ™์ผ๋•Œ

  • issue Template

---
name: "๐Ÿฉท issue template"
about: Zoe์˜ ์ƒˆ๋กœ์šด ์ด์Šˆ ์ถ”๊ฐ€
title: "[Feat] description"
labels: [๐Ÿฉท ์ง€ํฌ]
assignees: Zoe929

---

## ๐Ÿ’ก About
<!--๋ฌด์—‡์— ๊ด€ํ•œ ์ด์Šˆ์ธ์ง€ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.-->

3๏ธโƒฃย Pull Request

PR ๊ทœ์น™

  • Feat [#์ด์Šˆ๋ฒˆํ˜ธ] ์ž‘์—… ์„ค๋ช…

    1. Assignee์—๋Š” ์ž๊ธฐ ์ž์‹  ํƒœ๊ทธ
    2. Reviewers์— iOS ํŒ€์› ๋ชจ๋‘ ํƒœ๊ทธ
    3. PR ํผ ์–‘์‹ ๋งž์ถฐ์„œ ์„ค๋ช… ์˜ฌ๋ฆฌ๊ธฐ
    4. ์Šคํฌ๋ฆฐ์ƒท ํ•„์ˆ˜!
  • 2๊ฐœ์˜ Approve๋ฅผ ๋ฐ›์„ ๊ฒฝ์šฐ merge (๋ณธ์ธ์ด ์ง์ ‘ merge)

  • PR Template

## ์ž‘์—… ๋‚ด์šฉ
์ž‘์—…ํ•œ ๋‚ด์šฉ ์“ฐ๊ธฐ

## PR Point
์„ค๋ช…์ด ํ•„์š”ํ•œ ์ฝ”๋“œ๋‚˜ ๋…ผ์˜๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋“œ ๋„ฃ์„ ๋•Œ๋Š” permaLink ์‚ฌ์šฉํ•ด๋ณด๊ธฐ 

## ์Šคํฌ๋ฆฐ์ƒท
Gif๋‚˜ ์Šคํฌ๋ฆฐ์ƒท ํ•„์ˆ˜๋กœ ๋„ฃ์–ด์ฃผ์„ธ์š”.

## ์ด์Šˆ๋„˜๋ฒ„
issue: #์ด์Šˆ๋„˜๋ฒ„ 

4๏ธโƒฃย Commit

[prefix/#์ด์Šˆ๋„˜๋ฒ„] ๋ทฐ ์ด๋ฆ„ - ์ž‘์—… ์„ค๋ช…
ex. [Feat/#12] Home - ์„œ์น˜๋ฐ” ๋ ˆ์ด์•„์›ƒ
  • Merge develop into ๋‚ด ๋ธŒ๋žœ์น˜ ์‹œ์—๋Š”
[Merge] #issueNumber - pull develop 
  • PR develop merge : ๊ธฐ๋ณธ ๋จธ์ง€ ๋ฉ”์‹œ์ง€
  • prefix์™€ ํ•จ๊ป˜ ์ด์Šˆ ๋„˜๋ฒ„๋ฅผ ๊ธฐ์žฌํ•ด์ฃผ์„ธ์š”!

Prefix

Prefix

Prefix Role
Set ํ™˜๊ฒฝ ์„ธํŒ…
Feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„
Add ํŒŒ์ผ ์ถ”๊ฐ€
Delete ํŒŒ์ผ ์‚ญ์ œ
Fix ๋ฒ„๊ทธ ํ•ด๊ฒฐ
Chore ๊ธฐํƒ€

๊ทœ์น™

  • ๋งˆ์นจํ‘œ, ํŠน์ˆ˜๊ธฐํ˜ธ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ฐ„๊ฒฐํ•œ ์„ค๋ช…๋งŒ ๋ง๋ถ™์ธ๋‹ค.
  • ํ”„๋ฆฌํ”ฝ ๋’ค์— ์ •ํ™•ํžˆ ๋‚ด๊ฐ€ ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ์ ๊ธฐ
    • Home(์–ด๋””์„œ) - ์„œ์น˜๋ฐ” ๋ ˆ์ด์•„์›ƒ(๋ฌด์—‡์„)
      • UI ์ž‘์—…ํ•  ๋•Œ ๋ทฐ์ปจ ์ด๋ฆ„ ViewController ๋นผ๊ณ  ์“ฐ๊ธฐ

5๏ธโƒฃย Code Review

๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ์˜ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฌธํ™”๋ฅผ ์ฐจ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ Pn ๋ฃฐ

  • P1: ๊ผญ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š” (Request changes) ๋ฆฌ๋ทฐ์–ด๋Š” PR์˜ ๋‚ด์šฉ์ด ์„œ๋น„์Šค์— ์ค‘๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ž ์žฌํ•˜๊ณ  ์žˆ๋Š” ๋“ฑ ์ค‘๋Œ€ํ•œ ์ฝ”๋“œ ์ˆ˜์ •์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, P1 ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ฆฌ> ๋ทฐ ์š”์ฒญ์ž์—๊ฒŒ ์ˆ˜์ •์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์š”์ฒญ์ž๋Š” p1 ํƒœ๊ทธ์— ๋Œ€ํ•ด ๋ฆฌ๋ทฐ์–ด์˜ ์š”์ฒญ์„ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ํ•ฉ๋ฆฌ์ ์ธ ์˜๊ฒฌ์„ ํ†ตํ•ด ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • P2: ์ ๊ทน์ ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š” (Request changes) ์ž‘์„ฑ์ž๋Š” P2์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ์ ํ•ฉํ•œ ์˜๊ฒฌ์„ ๋“ค์–ด ํ† ๋ก ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • P3: ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š” (Comment) ์ž‘์„ฑ์ž๋Š” P3์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์— ๋ฐ˜์˜ํ•  ๊ณ„ํš์„ ๋ช…์‹œ์ ์œผ๋กœ(JIRA ํ‹ฐ์ผ“ ๋“ฑ์œผ๋กœ) ํ‘œํ˜„ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. Request changes ๊ฐ€ ์•„๋‹Œ Comment ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • P4: ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ  ๋„˜์–ด๊ฐ€๋„ ์ข‹์Šต๋‹ˆ๋‹ค (Approve) ์ž‘์„ฑ์ž๋Š” P4์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜๊ฒฌ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒŒ ์ข‹์„์ง€ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • P5: ๊ทธ๋ƒฅ ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค (Approve) ์ž‘์„ฑ์ž๋Š” P5์— ๋Œ€ํ•ด ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ in ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ ๊ฐœ๋ฐœ ๋ฌธํ™” | ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ