Skip to content

Github Rules

Yeonhee Kim edited this page Sep 23, 2021 · 31 revisions

โœจ Issue Management

  • ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘” Issue Template์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

    • โœ๏ธ Description : ์ด์Šˆ์— ๋Œ€ํ•œ ์„ค๋ช… ์ž‘์„ฑ
    • ๐Ÿ—“๏ธ Goal : ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ๊ธฐ๊ฐ„์„ ๋ช…์‹œ
    • โœ”๏ธ Progress : ์ด์Šˆ๋ฅผ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์ฒดํฌ๋ฐ•์Šค์™€ ํ•จ๊ป˜ ์ง„ํ–‰์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • Assignees : ๊ด€๋ จ๋œ ๋‹ด๋‹น์ž์—๊ฒŒ ์ด์Šˆ๋ฅผ ํ• ๋‹น

  • Labels : ์ด์Šˆ์™€ ๊ด€๋ จ๋œ ๋ผ๋ฒจ์„ ๋ถ™์ž„(์ค‘๋ณต์„ ํƒ ๊ฐ€๋Šฅ)

    • ๐Ÿ“ Design : ์„ค๊ณ„
    • ๐Ÿ“œ Documents : ๋ฌธ์„œ ๊ด€๋ฆฌ
    • โš™๏ธ Setting : ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๋ฐฐํฌ ์„ค์ •
    • ๐Ÿ  Build : ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜น์€ ํŒจํ‚ค์ง€ ์„ค์น˜
    • ๐Ÿ”Ž Frontend : ํ”„๋ก ํŠธ์—”๋“œ ๊ด€๋ จ
    • ๐Ÿ”ฌ Backend : ๋ฐฑ์—”๋“œ ๊ด€๋ จ
    • ๐Ÿ’ก Feature : ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • ๐Ÿš€ Test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
    • ๐ŸŒˆ Refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
    • โœจ Style : ์Šคํƒ€์ผ๋งŒ ์ˆ˜์ •
    • ๐Ÿšจ Bug : ๊ณ ์ณ์•ผ ํ•  ๋ฒ„๊ทธ
    • ๐Ÿฟ etc : ๊ธฐํƒ€
  • Projects : ์ด์Šˆ๋ฅผ ํ•ด๋‹น๋˜๋Š” Projects Board์™€ ์—ฐ๊ฒฐ

    • Common : ๊ณตํ†ต์‚ฌํ•ญ ๊ด€๋ จ ์Šคํฌ๋Ÿผ ๋ณด๋“œ
    • Frontend : ํ”„๋ก ํŠธ์—”๋“œ ๊ด€๋ จ ์Šคํฌ๋Ÿผ ๋ณด๋“œ
    • Backend : ๋ฐฑ์—”๋“œ ๊ด€๋ จ ์Šคํฌ๋Ÿผ ๋ณด๋“œ
  • Milestone : ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์Šคํ”„๋ฆฐํŠธ ๊ธฐ๊ฐ„์„ ์„ ํƒ

    • Sprint 1 : ์ฒซ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 8์›” 2์ผ~2021๋…„ 8์›” 22์ผ)
    • Sprint 2 : ๋‘ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 8์›” 23์ผ~2021๋…„ 8์›” 29์ผ)
    • Sprint 3 : ์„ธ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 8์›” 30์ผ~2021๋…„ 9์›” 5์ผ)
    • Sprint 4 : ๋„ค ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 9์›” 6์ผ~2021๋…„ 9์›” 12์ผ)
    • Sprint 5 : ๋‹ค์„ฏ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 9์›” 13์ผ~2021๋…„ 9์›” 19์ผ)
    • Sprint 6 : ์—ฌ์„ฏ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 9์›” 20์ผ~2021๋…„ 9์›” 26์ผ)
    • Sprint 7 : ์ผ๊ณฑ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 9์›” 27์ผ~2021๋…„ 10์›” 3์ผ)
    • Sprint 8 : ์—ฌ๋Ÿ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 10์›” 4์ผ~2021๋…„ 10์›” 10์ผ)
    • Sprint 9 : ์•„ํ™‰ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 10์›” 11์ผ~2021๋…„ 10์›” 17์ผ)
    • Sprint 10 : ์—ด ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 10์›” 18์ผ~2021๋…„ 10์›” 24์ผ)
    • Sprint 11 : ์—ดํ•œ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 10์›” 25์ผ~2021๋…„ 10์›” 31์ผ)
    • Sprint 12 : ์—ด๋‘ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 11์›” 1์ผ~2021๋…„ 11์›” 7์ผ)
    • Sprint 13 : ์—ด์„ธ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 11์›” 8์ผ~2021๋…„ 11์›” 14์ผ)
    • Sprint 14 : ์—ด๋„ค ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 11์›” 15์ผ~2021๋…„ 11์›” 21์ผ)
    • Sprint 15 : ์—ด๋‹ค์„ฏ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ(2021๋…„ 11์›” 22์ผ-2021๋…„ 11์›” 28์ผ)

โœจ Branch Strategy

  • Git Flow ๊ด€๋ จ ์ฐธ๊ณ  ์ž๋ฃŒ
  • Branch ์ „๋žต
    • ๊ด€๋ฆฌํ•ด์•ผ ํ•  ๋ธŒ๋žœ์น˜๊ฐ€ ๋งŽ์œผ๋ฉด ํ†ตํ•ฉ์ด ์–ด๋ ต๊ณ  ๋ฐฐํฌ๋ฅผ ๋“œ๋ฌผ๊ฒŒ ํ•˜๊ฒŒ ๋˜๋Š” ๋‹จ์ ์ด ์žˆ์Œ
    • ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ Git Flow๋ฅผ ๋”ฐ๋ฅด๋˜ CI/CD๋ฅผ ๊ณ ๋ คํ•˜์—ฌ release, hotfix ๋ธŒ๋žœ์น˜๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์•„๋ž˜ 3๊ฐœ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•จ.
    • feature
      • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ธŒ๋žœ์น˜
      • ์ƒˆ๋กญ๊ฒŒ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ
        • ex) feature/ISSUE-97
      • ๊ฐ์ž๊ฐ€ ๋งก์€ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ feature ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๊ณ  ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜์— mergeํ•˜๊ณ  pushํ•จ
    • develop
      • ํ˜„์žฌ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ์™€ ์ผ์น˜ํ•˜๋Š” ๋ธŒ๋žœ์น˜
      • ๋‹ค์Œ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•ด ์–ธ์ œ๋“ ์ง€ ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ
      • ํŒ€์›๋“ค์˜ feature ๋ธŒ๋žœ์น˜๊ฐ€ merge๋˜๋Š” ๋ธŒ๋žœ์น˜์ด๋ฉฐ conflict ๋ฐœ์ƒ์‹œ pushํ•œ ์‚ฌ๋žŒ์ด ํ•ด๊ฒฐํ•จ
      • develop ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œํ•˜๋ฉด Travis CI์™€ AWS CodeDeploy์— ์˜ํ•ด CI/CD๊ฐ€ ์ด๋ฃจ์–ด์ง€๋ฉฐ ํ”„๋กœ์ ํŠธ๊ฐ€ AWS EC2์— ๋ฐฐํฌ๋จ
      • ๊ฐœ๋ฐœ ์„œ๋ฒ„(AWS EC2)์—์„œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ด์ƒ์ด ์—†์œผ๋ฉด Pull Request๋ฅผ ์ž‘์„ฑํ•จ
      • Pull Request ํ›„ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ฉด main ๋ธŒ๋žœ์น˜์— push
        • ์ด ๋•Œ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ํ•ด๋‹น feature ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•˜๊ณ  ํ•ด๋‹น ์ด์Šˆ ๋˜ํ•œ Close ์ฒ˜๋ฆฌ
    • main
      • ํ˜„์žฌ ์„œ๋น„์Šค ์ค‘์ธ ์ œํ’ˆ์˜ ์ƒํƒœ์™€ ์ผ์น˜ํ•˜๋Š” ๋ธŒ๋žœ์น˜
      • ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์œผ๋กœ ์ฃผ์ข… ๊ด€๊ณ„๋ฅผ ์•”์‹œํ•˜๋Š” master ๋Œ€์‹  main ์‚ฌ์šฉํ•จ
      • main ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œํ•˜๋ฉด Travis CI์— ์˜ํ•ด CI/CD๊ฐ€ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๋ฐฑ์—”๋“œ๋Š” Heroku์— ๋ฐฐํฌ๋˜๊ณ  ํ”„๋ก ํŠธ์—”๋“œ๋Š” Netlify์— ๋ฐฐํฌ๋จ
      • ์šด์˜ ์„œ๋ฒ„(Heroku, Netlify) ๋ฐฐํฌ์‹œ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์ด์ „ ๋‹จ๊ณ„๋กœ ๋Œ์•„๊ฐ

โœจ Commit Message Style Guide

  • ํƒ€์ž…, ์ด์Šˆ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์ œ๋ชฉ์„ ์“ฐ๋ฉฐ, ์ œ๋ชฉ์€ ํ•œ๊ธ€๋กœ ์“ด๋‹ค.(ํŠน์ • ์ด์Šˆ์™€ ์—ฐ๊ฒฐ์ง“๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ ์ด์Šˆ๋ฒˆํ˜ธ๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค)
  • ์ œ๋ชฉ ๋์— ๋งˆ์นจํ‘œ๋ฅผ ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•  ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€๋ณด๋‹ค ๋ฌด์—‡์„, ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€์— ๋งž์ถฐ ์ž‘์„ฑํ•œ๋‹ค.
  • ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์€ ํ•œ์ค„์„ ๋„์›Œ์„œ ๋ถ„๋ฆฌํ•œ๋‹ค.
  • Commit Message Type
    • feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • fix : ๋ฒ„๊ทธ ์ˆ˜์ •
    • docs : ๋ฌธ์„œ ์ถ”๊ฐ€, ๋ณ€๊ฒฝ
    • style : (์ฝ”๋“œ์˜ ์ˆ˜์ • ์—†์ด) ์Šคํƒ€์ผ๋งŒ ๋ณ€๊ฒฝ(ex: ๋“ค์—ฌ์“ฐ๊ธฐ ๊ฐ™์€ ํฌ๋งท, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€, ์˜คํƒ€ ์ˆ˜์ •, ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ ๋“ฑ)
    • refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
    • test : ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์ฝ”๋“œ ์ถ”๊ฐ€, ๋ณ€๊ฒฝ
    • chore : (์ฝ”๋“œ์˜ ์ˆ˜์ • ์—†์ด) ์„ค์ •์„ ๋ณ€๊ฒฝ
    • build : ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜น์€ ํŒจํ‚ค์ง€ ์„ค์น˜
    • revert : ์ž‘์—… ๋˜๋Œ๋ฆฌ๊ธฐ
    • perf : ์„ฑ๋Šฅ ๊ฐœ์„ 
    • etc : ๊ธฐํƒ€
  • ์˜ˆ์‹œ
feat #10 - ํšŒ์›์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋ณธ๋ฌธ ๋‚ด์šฉ1
- ๋ณธ๋ฌธ ๋‚ด์šฉ2

โœจ Pull Request(PR)

  • ํ•˜๋ฃจ ์ž‘์—…์„ ๋งˆ๋ฌด๋ฆฌํ•œ ๋’ค feature ๋ธŒ๋žœ์น˜์—์„œ develop ๋ธŒ๋žœ์น˜๋กœ mergeํ•˜๊ณ  pushํ•œ ๋’ค PR์„ ์ž‘์„ฑํ•œ๋‹ค.(develop->main)

  • ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘” Pull Request Template์„ ๋ฐ”ํƒ•์œผ๋กœ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

    • โ“ Description : ๋‚ด๊ฐ€ ๋ณด๋‚ด๋Š” PR์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…
    • ๐Ÿ–๏ธ Changes details : ์ž์„ธํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž‘์„ฑ
    • ๐Ÿ“ท Screenshot : ํ•„์š”์‹œ ์Šคํฌ๋ฆฐ์ƒท ์ฒจ๋ถ€
  • Reviewers : ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์ค„ ํŒ€์› ๋“ฑ๋ก

  • Assignees : PR ์ž‘์„ฑ์ž ๋“ฑ๋ก

  • Labels, Projects, Milestone : ์ด์Šˆ ์ž‘์„ฑ ๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๋‹น๋˜๋Š” ์‚ฌํ•ญ์„ ๋“ฑ๋ก

  • Linked Issues : ๊ด€๋ จ๋œ ์ด์Šˆ๋ฅผ ์—ฐ๊ฒฐ

  • PR์ด ๋“ฑ๋ก๋˜๋ฉด ๋ฆฌ๋ทฐ์–ด๋Š” ๋˜๋„๋ก ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ๋ฆฌ๋ทฐํ•˜๊ณ  ๋Šฆ์–ด๋„ ๋‹ค์Œ๋‚  ์˜ค์ „ 10์‹œ ์ „๊นŒ์ง€๋Š” ๋ฆฌ๋ทฐํ•œ๋‹ค.(PR์€ ์Šฌ๋ž™๊ณผ ๋ฉ”์ผ๋กœ ์•Œ๋ฆผ์ด ์˜ด)

    • Files changed์—์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ณ  Review changes์—์„œ ์•„๋ž˜ ํ•ญ๋ชฉ์„ ์„ ํƒํ•ด์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ๋‹ค.
    • Comment : ์Šน์ธ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ผ๋ฐ˜์ ์ธ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ฌ ๋•Œ ์„ ํƒ
    • Approve : merge๋ฅผ ์Šน์ธ
    • Request changes : merge๋ฅผ ๊ฑฐ์ ˆํ•˜๋ฉฐ ๋ณ€๊ฒฝ ์š”์ฒญ
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด PR ์ž‘์„ฑ์ž๋Š” develop๋ฅผ main์œผ๋กœ mergeํ•˜๊ณ  pushํ•œ๋‹ค.

  • ๊ด€๋ จ feature๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋ฉด ๊ด€๋ จ feature ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค. ๊ด€๋ จ ์ด์Šˆ๊ฐ€ ์™„์ „ํžˆ ์ข…๋ฃŒ๋˜๋ฉด ์ด์Šˆ ๋˜ํ•œ closeํ•œ๋‹ค.

Clone this wiki locally