Skip to content

Git Convention

jinyoung edited this page Apr 6, 2023 · 3 revisions

Issue

  • Issue ๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.
    • [feat] - Issue ๋ช…
    • [fix] - Issue ๋ช…
  • Issue ์‚ฌ์šฉ ์˜ˆ์‹œ Issue ์‚ฌ์šฉ ์˜ˆ์‹œ

Pull Request

image

  • ๊ฐ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ PR์˜ ์ œ๋ชฉ์€ ๊นƒ๋ชจ์ง€ prefix : ๋ธŒ๋žœ์น˜๋ฅผ ์ด๊ด„ํ•˜๋Š” ๋‚ด์šฉ ์œผ๋กœ ํ•œ๋‹ค.

    • ์˜ˆ์‹œ : ๐Ÿ“ย docs: PR ํ…œํ”Œ๋ฆฟ ๊ฐ€์ด๋“œ ๋ผ์ธ ์ถ”๊ฐ€
  • PR ์ฒดํฌ ๋ฆฌ์ŠคํŠธ

    • Reviewer ์ง€์ •
    • Assignees ์ง€์ •
    • Label ๋ถ™์ด๊ธฐ
    • Projects ์ง€์ •

Code Review

  • ๋ฆฌ๋ทฐ์–ด์˜ Approve ๊ฐ€ 1๊ฐœ ์ด์ƒ์ผ ๋•Œ, ๋ธŒ๋žœ์น˜๋ฅผ ๋จธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋Š” ํ•„์ˆ˜์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋˜, ๋งŒ์•ฝ ๋ฆฌ๋ทฐ ์—†์ด ์ดํ‹€ ๊ฒฝ๊ณผ ์‹œ์—๋Š” ๋จธ์ง€ํ•œ๋‹ค.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•œ๋‹ค.
    • ex) ์šฐ์„ ์ˆœ์œ„: ๊ธ‰ํ•จ , ์šฐ์„ ์ˆœ์œ„ : ๋ณดํ†ต, ์šฐ์„ ์ˆœ์œ„ : ๋‚ฎ์Œ
  • ์†Œํ†ต์„ ์œ„ํ•˜์—ฌ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์ฐธ๊ณ ์ž๋ฃŒ - ์ฝ”๋“œ ๋ฆฌ๋ทฐ in ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ ๊ฐœ๋ฐœ ๋ฌธํ™”)

P1: ๊ผญ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š” (Request changes)

๋ฆฌ๋ทฐ์–ด๋Š” PR์˜ ๋‚ด์šฉ์ด ์„œ๋น„์Šค์— ์ค‘๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ž ์žฌํ•˜๊ณ  ์žˆ๋Š” ๋“ฑ ์ค‘๋Œ€ํ•œ ์ฝ”๋“œ ์ˆ˜์ •์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, P1 ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ ์š”์ฒญ์ž์—๊ฒŒ ์ˆ˜์ •์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์š”์ฒญ์ž๋Š” p1 ํƒœ๊ทธ์— ๋Œ€ํ•ด ๋ฆฌ๋ทฐ์–ด์˜ ์š”์ฒญ์„ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ํ•ฉ๋ฆฌ์ ์ธ ์˜๊ฒฌ์„ ํ†ตํ•ด ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

P2: ์ ๊ทน์ ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š” (Request changes)

์ž‘์„ฑ์ž๋Š” P2์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ์ ํ•ฉํ•œ ์˜๊ฒฌ์„ ๋“ค์–ด ํ† ๋ก ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

P3: ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š” (Comment)

์ž‘์„ฑ์ž๋Š” P3์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์— ๋ฐ˜์˜ํ•  ๊ณ„ํš์„ ๋ช…์‹œ์ ์œผ๋กœ(JIRA ํ‹ฐ์ผ“ ๋“ฑ์œผ๋กœ) ํ‘œํ˜„ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. Request changes ๊ฐ€ ์•„๋‹Œ Comment ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

P4: ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ  ๋„˜์–ด๊ฐ€๋„ ์ข‹์Šต๋‹ˆ๋‹ค (Approve)

์ž‘์„ฑ์ž๋Š” P4์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜๊ฒฌ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒŒ ์ข‹์„์ง€ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

P5: ๊ทธ๋ƒฅ ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค (Approve)

์ž‘์„ฑ์ž๋Š” P5์— ๋Œ€ํ•ด ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

Commit

  • Commit ์€ ๊ฐ€๊ธ‰์ ์ด๋ฉด ๊ธฐ๋Šฅ ๋‹น ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • Commit ๋ฉ”์‹œ์ง€๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋ฉฐ, ๋„ˆ๋ฌด ๊ธธ์–ด์ง€์ง€ ์•Š๋„๋ก ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค.
    • Commit ๋ฉ”์‹œ์ง€์— ๋ฌธ์žฅํ˜•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • Commit ๋ฉ”์‹œ์ง€์— ๋งˆ์นจํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • husky ๋ฅผ ์ด์šฉํ•œ pre-commit ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • main ๊ณผ default ๋ธŒ๋žœ์น˜์— force-push ๋ฅผ ๊ธˆ์ง€ํ•œ๋‹ค. (๋ ˆํฌ ์„ค์ •)

Commit Message

commit prefix-convention

prefix ์„ค๋ช…
โœจย feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
๐Ÿ›ย fix ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
๐Ÿ’„ย design CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
๐Ÿš‘ย hotfix ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
๐ŸŽจย style ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
โ™ป๏ธย refactor ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง
๐Ÿ’กย comment ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
๐Ÿ“ย docs ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
โœ…ย test ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
๐Ÿ”งย env ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •
๐Ÿคกย mock msw ๊ด€๋ จ
๐ŸŽ‰ย init ํ”„๋กœ์ ํŠธ ์ฒซ ์„ค์ •
๐Ÿššย rename ํŒŒ์ผ ํ˜น์€ ํด๋” ๋ช…์„ ์ˆ˜์ •ํ–ˆ๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ
๐Ÿ”ฅย remove ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
๐Ÿ“ฆย chore ๋นŒ๋“œ ํƒœ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์„ค์ • (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
๐Ÿฑย asset asset ๊ด€๋ จ ํŒŒ์ผ(favicon, font) ์—…๋ฐ์ดํŠธ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ–ˆ์„ ๊ฒฝ์šฐ

Branch strategy

์šฐ๋ฆฌ๋Š” git flow ๋ฐ github flow์™€ ๊ฐ™์€ ์ •ํ˜•ํ™” ๋œ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•ด๋‹น ์ „๋žต์€ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ์— ๋น„ํ•ด ๋ณต์žก์„ฑ์ด ํฐ ํŽธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์งง์€ ๊ฐœ๋ฐœ์‹œ๊ฐ„ ์•ˆ์—, ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ธŒ๋žœ์น˜ ์ „๋žต์˜ ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•ฉ์˜ํ•˜์˜€๋‹ค.

๋”ฐ๋ผ์„œ ์•„๋ž˜์˜ ์ตœ์†Œํ•œ์˜ ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ์ฑ„ํƒํ•˜์˜€๋‹ค.

  • develop : ๊ฐœ๋ฐœ์šฉ ๋ธŒ๋žœ์น˜
  • ๊ธฐ๋ณธ์ ์œผ๋กœ commit prefix ์— ๋”ฐ๋ผ ๊ธฐ๋Šฅ์„ ๋‚˜๋ˆ„๊ณ  ์ด์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ branch๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.
    • ์˜ˆ์‹œ : feature/{issue-number} : ๊ธฐ๋Šฅ ๊ตฌํ˜„ branch, fix/{issue-number} : ๋ฒ„๊ทธ ์ˆ˜์ • branch
  • ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ develop ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€ํ•  ๋•Œ๋Š” squash and merge ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๊ณ , develop ๋ธŒ๋žœ์น˜๋ฅผ main ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€ํ•  ๋•Œ๋Š” rebase and merge ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ฐธ๊ณ  ์ž๋ฃŒ : GitHub์˜ Merge, Squash and Merge, Rebase and Merge ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ธฐ
# Issue
  • Issue ๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.
    • [feat] - Issue ๋ช…
    • [fix] - Issue ๋ช…

์ด์Šˆ ์‚ฌ์šฉ ์˜ˆ์‹œ Issue ์‚ฌ์šฉ ์˜ˆ์‹œ

Pull Request

image

  • ๊ฐ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ PR์˜ ์ œ๋ชฉ์€ ๊นƒ๋ชจ์ง€ prefix : ๋ธŒ๋žœ์น˜๋ฅผ ์ด๊ด„ํ•˜๋Š” ๋‚ด์šฉ ์œผ๋กœ ํ•œ๋‹ค.

    • ์˜ˆ์‹œ : ๐Ÿ“ย docs: PR ํ…œํ”Œ๋ฆฟ ๊ฐ€์ด๋“œ ๋ผ์ธ ์ถ”๊ฐ€
  • PR ์ฒดํฌ ๋ฆฌ์ŠคํŠธ

    • Reviewer ์ง€์ •
    • Assignees ์ง€์ •
    • Label ๋ถ™์ด๊ธฐ
    • Projects ์ง€์ •

Code Review

  • ๋ฆฌ๋ทฐ์–ด์˜ Approve ๊ฐ€ 1๊ฐœ ์ด์ƒ์ผ ๋•Œ, ๋ธŒ๋žœ์น˜๋ฅผ ๋จธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋Š” ํ•„์ˆ˜์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋˜, ๋งŒ์•ฝ ๋ฆฌ๋ทฐ ์—†์ด ์ดํ‹€ ๊ฒฝ๊ณผ ์‹œ์—๋Š” ๋จธ์ง€ํ•œ๋‹ค.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•œ๋‹ค.
    • ex) ์šฐ์„ ์ˆœ์œ„: ๊ธ‰ํ•จ , ์šฐ์„ ์ˆœ์œ„ : ๋ณดํ†ต, ์šฐ์„ ์ˆœ์œ„ : ๋‚ฎ์Œ
  • ์†Œํ†ต์„ ์œ„ํ•˜์—ฌ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์ฐธ๊ณ ์ž๋ฃŒ - [์ฝ”๋“œ ๋ฆฌ๋ทฐ in ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ ๊ฐœ๋ฐœ ๋ฌธํ™”](https://blog.banksalad.com/tech/banksalad-code-review-culture/))

P1: ๊ผญ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š” (Request changes)

๋ฆฌ๋ทฐ์–ด๋Š” PR์˜ ๋‚ด์šฉ์ด ์„œ๋น„์Šค์— ์ค‘๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ž ์žฌํ•˜๊ณ  ์žˆ๋Š” ๋“ฑ ์ค‘๋Œ€ํ•œ ์ฝ”๋“œ ์ˆ˜์ •์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, P1 ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ ์š”์ฒญ์ž์—๊ฒŒ ์ˆ˜์ •์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์š”์ฒญ์ž๋Š” p1 ํƒœ๊ทธ์— ๋Œ€ํ•ด ๋ฆฌ๋ทฐ์–ด์˜ ์š”์ฒญ์„ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ํ•ฉ๋ฆฌ์ ์ธ ์˜๊ฒฌ์„ ํ†ตํ•ด ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

P2: ์ ๊ทน์ ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š” (Request changes)

์ž‘์„ฑ์ž๋Š” P2์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ์ ํ•ฉํ•œ ์˜๊ฒฌ์„ ๋“ค์–ด ํ† ๋ก ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

P3: ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š” (Comment)

์ž‘์„ฑ์ž๋Š” P3์— ๋Œ€ํ•ด ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜ ๋งŒ์•ฝ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์— ๋ฐ˜์˜ํ•  ๊ณ„ํš์„ ๋ช…์‹œ์ ์œผ๋กœ(JIRA ํ‹ฐ์ผ“ ๋“ฑ์œผ๋กœ) ํ‘œํ˜„ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. Request changes ๊ฐ€ ์•„๋‹Œ Comment ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

P4: ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ  ๋„˜์–ด๊ฐ€๋„ ์ข‹์Šต๋‹ˆ๋‹ค (Approve)

์ž‘์„ฑ์ž๋Š” P4์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜๊ฒฌ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒŒ ์ข‹์„์ง€ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

P5: ๊ทธ๋ƒฅ ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค (Approve)

์ž‘์„ฑ์ž๋Š” P5์— ๋Œ€ํ•ด ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

Commit

  • Commit ์€ ๊ฐ€๊ธ‰์ ์ด๋ฉด ๊ธฐ๋Šฅ ๋‹น ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • Commit ๋ฉ”์‹œ์ง€๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋ฉฐ, ๋„ˆ๋ฌด ๊ธธ์–ด์ง€์ง€ ์•Š๋„๋ก ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค.
    • Commit ๋ฉ”์‹œ์ง€์— ๋ฌธ์žฅํ˜•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • Commit ๋ฉ”์‹œ์ง€์— ๋งˆ์นจํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • husky ๋ฅผ ์ด์šฉํ•œ pre-commit ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • main ๊ณผ default ๋ธŒ๋žœ์น˜์— force-push ๋ฅผ ๊ธˆ์ง€ํ•œ๋‹ค. (๋ ˆํฌ ์„ค์ •)

Commit Message

commit prefix-convention

prefix ์„ค๋ช…
โœจย feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
๐Ÿ›ย fix ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
๐Ÿ’„ย design CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
๐Ÿš‘ย hotfix ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
๐ŸŽจย style ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
โ™ป๏ธย refactor ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง
๐Ÿ’กย comment ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
๐Ÿ“ย docs ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
โœ…ย test ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
๐Ÿ”งย env ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •
๐Ÿคกย mock msw ๊ด€๋ จ
๐ŸŽ‰ย init ํ”„๋กœ์ ํŠธ ์ฒซ ์„ค์ •
๐Ÿššย rename ํŒŒ์ผ ํ˜น์€ ํด๋” ๋ช…์„ ์ˆ˜์ •ํ–ˆ๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ
๐Ÿ”ฅย remove ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
๐Ÿ“ฆย chore ๋นŒ๋“œ ํƒœ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์„ค์ • (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
๐Ÿฑย asset asset ๊ด€๋ จ ํŒŒ์ผ(favicon, font) ์—…๋ฐ์ดํŠธ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ–ˆ์„ ๊ฒฝ์šฐ

Branch strategy

์šฐ๋ฆฌ๋Š” git flow ๋ฐ github flow์™€ ๊ฐ™์€ ์ •ํ˜•ํ™” ๋œ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•ด๋‹น ์ „๋žต์€ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ์— ๋น„ํ•ด ๋ณต์žก์„ฑ์ด ํฐ ํŽธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์งง์€ ๊ฐœ๋ฐœ์‹œ๊ฐ„ ์•ˆ์—, ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ธŒ๋žœ์น˜ ์ „๋žต์˜ ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•ฉ์˜ํ•˜์˜€๋‹ค.

๋”ฐ๋ผ์„œ ์•„๋ž˜์˜ ์ตœ์†Œํ•œ์˜ ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ์ฑ„ํƒํ•˜์˜€๋‹ค.

  • develop : ๊ฐœ๋ฐœ์šฉ ๋ธŒ๋žœ์น˜
  • ๊ธฐ๋ณธ์ ์œผ๋กœ commit prefix ์— ๋”ฐ๋ผ ๊ธฐ๋Šฅ์„ ๋‚˜๋ˆ„๊ณ  ์ด์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ branch๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.
    • ์˜ˆ์‹œ : feature/{issue-number} : ๊ธฐ๋Šฅ ๊ตฌํ˜„ branch, fix/{issue-number} : ๋ฒ„๊ทธ ์ˆ˜์ • branch
  • ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ develop ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€ํ•  ๋•Œ๋Š” squash and merge ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๊ณ , develop ๋ธŒ๋žœ์น˜๋ฅผ main ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€ํ•  ๋•Œ๋Š” rebase and merge ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ฐธ๊ณ  ์ž๋ฃŒ : GitHub์˜ Merge, Squash and Merge, Rebase and Merge ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ธฐ
Clone this wiki locally