Team Rule 01: Git&GitHub Workflow - SWPP-2025SPRING/team-project-for-2025-spring-swpp-team-10 GitHub Wiki

๐ŸŒฟ Branching Strategy

๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ , ์ž์ฃผ ํ†ตํ•ฉํ•˜๋Š” ๊ฒŒ ๋ชฉ์ ์ด๋ฏ€๋กœ Trunk-Based Development๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐ŸŒฑ Branching Strategy: ๋ธŒ๋žœ์น˜ ์ข…๋ฅ˜

๋ธŒ๋žœ์น˜ ์šฉ๋„
main ์•ˆ์ •๋œ ์ฝ”๋“œ, ๋ฐฐํฌ ๋ฐ ๋ฐ๋ชจ ์šฉ๋„
feature/* ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์šฉ ๋ธŒ๋žœ์น˜ (๋‹จ๋ช…, ๋น ๋ฅด๊ฒŒ ๋จธ์ง€)
asset/* ์—์…‹ ์ถ”๊ฐ€์šฉ ๋ธŒ๋žœ์น˜ (PR ์ฆ‰์‹œ ๋จธ์ง€)

Branching Strategy: ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ

  • feature/๊ธฐ๋Šฅ์ด๋ฆ„ ํ˜•์‹์œผ๋กœ ์ƒ์„ฑ
  • ๋ช…ํ™•ํ•˜๊ฒŒ ์–ด๋–ค ๊ธฐ๋Šฅ์ธ์ง€ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ์ž‘์„ฑ
# example

git checkout -b feature/wire-swing
git checkout -b feature/ui-checkpoint
git checkout -b feature/player-boost

์พŒ์ ํ•œ ์ž‘์—…์„ ์œ„ํ•œ ์ฃผ์˜์‚ฌํ•ญ

  1. ๋ณ„๋„์˜ develop ๋ธŒ๋žœ์น˜๋ฅผ ๋‘์ง€ ์•Š๊ณ  main๋งŒ์„ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ main์— ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•  ๊ฒƒ!(๋‹น์—ฐํžˆ main์— ์ง์ ‘์ ์ธ push๋„ X)
  2. feature ๋ธŒ๋žœ์น˜์™€ main ๋ธŒ๋žœ์น˜์˜ diff๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€์ง€ ์•Š๋„๋ก ์ž์ฃผ ๋ณ‘ํ•ฉํ•  ๊ฒƒ!

๐Ÿ“ Commit Rule

  • ํ˜•์‹: [ํƒœ๊ทธ] ๊ธฐ๋Šฅ ์š”์•ฝ
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ช…ํ™•ํ•˜๊ณ  ์ผ๊ด€๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑ

Commit Rule: Commit Tag

  • [feat]: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • [fix]: ๋ฒ„๊ทธ ์ˆ˜์ •
  • [refactor]: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • [ui]: UI ๋ณ€๊ฒฝ
  • [docs]: ๋ฌธ์„œ ์ˆ˜์ •
  • [asset]: ์—์…‹ ์ถ”๊ฐ€

์˜ˆ์‹œ:

git commit -m "[feat] ์™€์ด์–ด ์Šค์œ™ ๊ธฐ๋Šฅ ๊ตฌํ˜„"
git commit -m "[fix] ํ–„์Šคํ„ฐ ๋ฉ”์‰ฌ ๋ฒ„๋ฒ…์ด๋Š” ๋ฌธ์ œ ์ˆ˜์ •" 
git commit -m "[docs] README spring 1 TODO ์—…๋ฐ์ดํŠธ"

๐Ÿ”„ Pull Request Rule

  • PR์€ ํ…œํ”Œ๋ฆฟ์— ๋งž์ถ”์–ด ์ž‘์„ฑํ•œ๋‹ค.
  • Asset ์ถ”๊ฐ€๋ฅผ ์ œ์™ธํ•œ ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ์€ Assignee์˜ ์Šน์ธ์ด ์™„๋ฃŒ๋˜์–ด์•ผ merge ๊ฐ€๋Šฅ
    • Asset๋งŒ ๋ณ€๊ฒฝํ•œ PR์€ asset ๋ผ๋ฒจ์„ ๋‹จ๋‹ค
  • assignee๋Š” ๋ฆฌ๋ทฐ๋Š” PR์ด ์—ด๋ฆฐ ์ดํ›„ 3์ผ์ด ์ง€๋‚˜๊ธฐ ์ „์— ๋ฆฌ๋ทฐํ•œ๋‹ค.
  • assignee์˜ approve๊ฐ€ ์ด๋ฃจ์–ด์ง„ PR์€ ์Šคํ”„๋ฆฐํŠธ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋จธ์ง€ํ•œ๋‹ค.
  • ๋จธ์ง€๋Š” squash ์—†์ด ์ง„ํ–‰ํ•œ๋‹ค.

Assignee ์ง€์ • ๋ฐฉ์‹

  • PlayerAction, Track ํŒ€์€ ํŒ€ ๋‚ด ์ž‘์—…์ž ์ด์™ธ 1๋ช…์ด assignee๊ฐ€ ๋œ๋‹ค.
  • UI ํŒ€์€ 1๋ช…์ด๋ฏ€๋กœ ์ ์ ˆํžˆ TEAM 10์˜ ๋ฉค๋ฒ„ ์ค‘ 1๋ช…์„ ๋Œ์•„๊ฐ€๋ฉฐ assignee๋กœ ์ง€์ •ํ•œ๋‹ค.

์ถ”๊ฐ€๋กœ ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ?

  • LGTM (Looks Good To me): ํฌ๊ฒŒ ๋‹ฌ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์„๋•Œ
  • NIT(nitpick): ์ƒ๋Œ€๊ฐ€ ํฌ๊ฒŒ ๋ฌด๊ฒŒ๋ฅผ ๋‘์ง€ ์•Š์•„๋„ ๋˜๋Š” ํ”ผ๋“œ๋ฐฑ์ผ๋•Œ