Convention - E-TF/LaLa GitHub Wiki

Project Coding Convention

ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด์ ์ธ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.

Git-flow Branch ์ „๋žต

Git-flow ๋ธŒ๋žœ์น˜ ์ „๋žต

  • Main: ์„œ๋น„์Šค ์ถœ์‹œํ•  ๋ธŒ๋žœ์น˜
  • develop: ๋‹ค์Œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜, ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๊ตฌํ˜„์ด ์™„๋ฃŒ๋  ๊ฒฝ์šฐ main ๋ธŒ๋žœ์น˜์— merge ํ•œ๋‹ค.
  • feature: ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜
  • release: ๋ฐฐํฌ๋ฅผ ์ค€๋น„ํ•  ๋•Œ ์‚ฌ์šฉ๋  ๋ธŒ๋žœ์น˜
  • hotfit: ๋ฐฐํฌ ํ›„ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜

์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜
์šฐ๋ฆฐ Git-flow๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์š”

Git Commit Message Convention

  1. Commit Message Structure

    • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ œ๋ชฉ, ๋ณธ๋ฌธ, ๊ผฌ๋ฆฌ๋ง ์„ธ ๊ฐ€์ง€ ํŒŒํŠธ๋กœ ๋‚˜๋‰˜๊ณ , ๊ฐ ํŒŒํŠธ๋Š” ๋นˆ ์ค„๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
      [์ œ๋ชฉ]type(์˜ต์…˜): [#issueNumber - ]Subject
      (ํ•œ ์ค„์„ ๋„์›Œ ๋ถ„๋ฆฌํ•œ๋‹ค.)
      [๋ณธ๋ฌธ]body(์˜ต์…˜)
      (ํ•œ ์ค„์„ ๋„์›Œ ๋ถ„๋ฆฌํ•œ๋‹ค.)
      [๊ผฌ๋ฆฌ๋ง]footer(์˜ต์…˜)
      
  2. Commit Type

    • ์ปค๋ฐ‹์˜ ํƒ€์ž… ๊ตฌ์„ฑ

      ํƒœ๊ทธ: ์ œ๋ชฉ
      :(space)์ œ๋ชฉ์œผ๋กœ :๋’ค์—๋งŒ space๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
      
      Commit Type
      Tag Name ์„ค๋ช…
      Feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
      Fix ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
      Design CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
      !BREAKING CHANGE ์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ
      !HOTFIX ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
      Style ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
      Refactor ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
      Comment ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
      Docs ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
      build ๋นŒ๋“œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
      Test ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง(ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
      Perf ์„ฑ๋Šฅ ๊ฐœ์„ 
      CI CI ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
      Chore ๋นŒ๋“œ ํ…Œ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ(ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
      Rename ํŒŒ์ผ ํ˜น์€ ํด๋” ๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์ธ ๊ฒฝ์šฐ
      Remove ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
  • ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์€ ํ•œ ์ค„๋กœ ๋„์›Œ์„œ ๋ถ„๋ฆฌํ•œ๋‹ค.
  • ์ œ๋ชฉ์€ ์˜๋ฌธ ๊ธฐ์ค€ 50์ž ์ด๋‚ด, ํ•œ๊ธ€์€ 30์ž ์ด๋‚ด๋กœ ํ•œ๋‹ค.
  • ์ œ๋ชฉ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  • ์ œ๋ชฉ ๋ ๋ถ€๋ถ„์— .(dot) ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•œ๋‹ค.
  • ์ œ๋ชฉ์€ ๋ช…๋ น์กฐ๋กœ ์ž‘์„ฑํ•œ๋‹ค.
  • Github - ์ œ๋ชฉ(์ด๋‚˜ ๋ณธ๋ฌธ)์— ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ๋‹ค.
  • ๋ณธ๋ฌธ์€ ์˜๋ฌธ ๊ธฐ์ค€ 72์ž๋งˆ๋‹ค ์ค„ ๋ฐ”๊พผ๋‹ค.
  • ๋ณธ๋ฌธ์€ ์–ด๋–ป๊ฒŒ ๋ณด๋‹ค ๋ฌด์—‡์„, ์™œ์— ๋งž์ถฐ ์ž‘์„ฑํ•œ๋‹ค.

Commit Message Emojis

Emojis
Emoji Raw Emoji Code Description
๐ŸŽจ :art: ์ฝ”๋“œ์˜ ํ˜•์‹/๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•  ๋•Œ
๐Ÿ“ฐ :newspaper: ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ
๐Ÿ“ :pencil: ์‚ฌ์†Œํ•œ ์ฝ”๋“œ ๋˜๋Š” ์–ธ์–ด๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ
๐ŸŽ :racehorse: ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ ๋•Œ
๐Ÿ“š :books: ๋ฌธ์„œ๋ฅผ ์“ธ ๋•Œ
๐Ÿ› :bug: ๋ฒ„๊ทธ reporting ํ•  ๋•Œ, @FIXME ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿš‘ :ambulance: bug๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿง :penguin: Linux์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐ŸŽ :apple: Mac OS์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿ :checkered_flag: Windows์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿ”ฅ :fire: ์ฝ”๋“œ ์ œ๊ฑฐ ๋˜๋Š” ํŒŒ์ผ ์ œ๊ฑฐํ•  ๋•Œ @CHANGED ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿšœ :tractor: ํŒŒ์ผ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ, ๐ŸŽจ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ
๐Ÿ”จ :hammer: ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋ง ํ•  ๋•Œ
โ˜” :umbrella: ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ
๐Ÿ”ฌ :microscope: ์ฝ”๋“œ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ
๐Ÿ’š :green_heart: CI ๋นŒ๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ
๐Ÿ”’ :lock: ๋ณด์•ˆ์„ ๋‹ค๋ฃฐ ๋•Œ
โฌ†๏ธ :arrow_up: ์˜์กด์„ฑ์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ
โฌ‡๏ธ :arrow_down: ์˜์กด์„ฑ์„ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ
โฉ :fast_forward: ์ด์ „ ๋ฒ„์ „/๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ์„ ํฌ์›Œ๋“œ ํฌํŒ…ํ•  ๋•Œ
โช :rewind: ์ตœ์‹  ๋ฒ„์ „/๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ์„ ๋ฐฑ ํฌํŠธํ•  ๋•Œ
๐Ÿ‘• :shirt: linter/strict/deprecation ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•  ๋•Œ
๐Ÿ’„ :lipstick: UI/Style๋ฅผ ๊ฐœ์„ ํ•  ๋•Œ
โ™ฟ :wheelchair: ์ ‘๊ทผ์„ฑ์„ ๊ฐœ์„ ํ•  ๋•Œ
๐ŸŒ :globe_with_meridians: ์„ธ๊ณ„ํ™”/๊ตญ์ œํ™”/i18n/g11n์„ ๋‹ค๋ฃฐ ๋•Œ
๐Ÿšง :construction: WIP(์ง„ํ–‰์ค‘์ธ ์ž‘์—…)์— ์ปค๋ฐ‹, @REVIEW ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿ’Ž :gem: New Release
๐Ÿฅš :egg: New Release with Python egg (Python ํŒจํ‚ค์ง€ ํ˜•์‹)
๐ŸŽก :ferris_wheel: New Release with Python wheel package (Python ํœ  ํŒจํ‚ค์ง€ ํ˜•์‹)
๐Ÿ”– :bookmark: Tags ๋ฒ„์ „
๐ŸŽ‰ :tada: ์ดˆ๊ธฐ ์ปค๋ฐ‹
๐Ÿ”ˆ :speaker: ๋กœ๊น…์„ ์ถ”๊ฐ€ํ•  ๋•Œ
๐Ÿ”‡ :mute: ๋กœ๊น…์„ ์ค„์ผ ๋•Œ
โœจ :sparkles: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•  ๋•Œ
โšก :zap: Backward-InCompatible ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•  ๋•Œ, @CHANGED ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿ’ก :bulb: ์ƒˆ๋กœ์šด Idea, @IDEA ํƒœ๊ทธ ์‚ฝ์ž…
โ„๏ธ :snowflake: ์ผ๋ฐ˜์ ์œผ๋กœ ๐Ÿง, ๐ŸŽ€ ๋˜๋Š” ๐Ÿš€๊ณผ ํ•จ๊ป˜ ๊ตฌ์„ฑ ๋ณ€๊ฒฝ
๐ŸŽ€ :ribbon: ๊ณ ๊ฐ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž ์ •์˜๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ, @HACK ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿš€ :rocket: ๋ฐฐํฌ(๊ตฌ์ถ•)/DevOps์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ•ญ๋ชฉ
๐Ÿ˜ :elephant: PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ, ...)
๐Ÿฌ :dolphin: MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ, ...)
๐Ÿƒ :leaves: MongoDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ, ...)
๐Ÿฆ :bank: ์ผ๋ฐ˜ Database ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ, ...)
๐Ÿณ :whale: Docker ๊ตฌ์„ฑ
๐Ÿค :handshake: ํŒŒ์ผ์„ ๋ณ‘ํ•ฉํ•  ๋•Œ
๐Ÿ’ :cherries: ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปค๋ฐ‹์—์„œ ์ปค๋ฐ‹์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ Cherry-Pick

์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜
์ข‹์€ git ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ 8๊ฐ€์ง€ ์•ฝ์†
[ํ˜‘์—…] ํ˜‘์—…์„ ์œ„ํ•œ git ์ปค๋ฐ‹์ปจ๋ฒค์…˜ ์„ค์ •ํ•˜๊ธฐ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ