๐Ÿ‘‘ ํŒ€ ๊ทธ๋ผ์šด๋“œ๋ฃฐ - boostcampwm-2022/web17-waglewagle GitHub Wiki

1. ํŒ€๋ฌธํ™”

2. ํŒ€ undefined์˜ ์—ญํ•  ๋ฐ ์ฑ…์ž„

3. ํŒ€ undefined์˜ ๊ทœ์น™

4. ํŒ€ undefined์˜ Github

5. ํŒ€ undefined์˜ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ ํŒ€ ๋ฌธํ™”

๐Ÿ’ก ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ ๋ฆฌ๋”๋‹ค.

  • ๋ฆฌ๋”๊ฐ€ ์žˆ๋”๋ผ๋„, ๋ชจ๋‘๊ฐ€ ์ฐธ์—ฌํ•˜๋ฉฐ ์ˆ˜ํ‰์ ์œผ๋กœ ์˜์‚ฌ๊ฒฐ์ •ํ•จ. ๋ฆฌ๋”๋ผ๋Š” ํฌ์ง€์…˜์€ ๋ง ๊ทธ๋Œ€๋กœ ์ฑ…์ž„๊ณผ ๋ฆฌ๋”ฉ์„ ์œ„ํ•จ.
  • ์˜์‚ฌ๊ฒฐ์ •์˜ ๋…ผ๋ฆฌ์™€ ๊ทผ๊ฑฐ์— ๋Œ€ํ•ด ํŒ€ ๋ชจ๋‘๊ฐ€ ์•Œ์•„์•ผํ•จ.
  • ์ž‘์—…๊ณผ ํ•™์Šต์— ๋Œ€ํ•ด ์ ๊ทน์ ์œผ๋กœ ๊ณต์œ .
  • ์ดˆ๊ธฐ์—๋Š” ๊ณต์œ ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ๊ณ , ์ดํ›„์— ์„œ๋กœ ์ต์ˆ™ํ•ด์ง€๋ฉด ๊ฐœ์ธ ์ž‘์—… (๊ณต์œ ๋Š” ํ•„์ˆ˜)
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์˜ ๊ณผ์ •๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์™„๊ฒฐ์„ฑ์ด ์™„์„ฑ๋„๋ณด๋‹ค ์ค‘์š”ํ•˜๋‹ค.
  • ์ถœ๊ทผํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด์„œ ์ฝ”์–ดํƒ€์ž„์— ์ž„ํ•˜๊ธฐ

๐Ÿคผ ํŒ€ undefined ์—ญํ•  ๋ฐ ์ฑ…์ž„

๐Ÿง‘๐Ÿปโ€๐Ÿ’ผ ์šด์˜ ์—ญํ• 

  • ํšŒ์˜์—์„œ ๊ฐ์ž์˜ ์ฑ…์ž„์ด ์žˆ๋‹ค๋ฉด, ํšŒ์˜๊ฐ€ ๋” ์›ํ™œํ•˜์ง€ ์•Š์„๊นŒ?
  • ๋‹ค๋งŒ ๋ชจ๋‘๊ฐ€ ํšŒ์˜์— ๋™๋“ฑํ•˜๊ฒŒ ์ฐธ์—ฌํ•ด์•ผํ•˜๋Š” ๊ฒƒ์€ ํ™•์‹คํ•˜๋‹ค.
  • ๊ตณ์ด ๋ช…ํŒจ๋ฅผ ๋‹ฌ์•„๋†“์œผ๋ฉด ์ฑ…์ž„ ๋ฐฉ๊ธฐ๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์•„์ด๋””์–ด๋Š” ๋ชจ๋‘ ํ•จ๊ป˜ ๋‚ด๊ณ , ์ •๋ฆฌ์™€ ๋น„ํŒ์ด ๋”ฐ๋กœ ๋–จ์–ด์ ธ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค.
  • ์ผ๋‹จ ์ง„ํ–‰ํ•˜๋ฉฐ, ํ•„์š”ํ•œ ๊ฒƒ์ด ์ƒ๊ธฐ๋ฉด ์ •ํ•˜์ž
  • ๋น„ํŒ์€ ์ฐจ๋ผ๋ฆฌ ๋”ฐ๋กœ ์‹œ๊ฐ„์„ ๊ฐ–๋Š”๊ฒŒ ๋‚ซ๊ฒ ๋‹ค.
  • ๊ธฐํš ๋‹ด๋‹น์€ ํ”„๋กœ์ ํŠธ ์ž์ฒด์— ๋Œ€ํ•œ ์• ์ฐฉ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์œผ๋กœ ํ•œ๋‹ค.

๐Ÿฆธ ํ”„๋กœ์ ํŠธ ๋ฆฌ๋” (J022_๊น€๊ด€๊ฒฝ)

  • ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ณ  ์žˆ๋Š”์ง€ ์ฒดํฌ, ํšŒ์˜ ์ง„ํ–‰.
  • ํ•„์š”์‹œ ํšŒ์˜๋ก ์ž‘์„ฑ.
  • ์ผ๋‹จ์€ ์ „์ฒด์ ์œผ๋กœ ๊ด€๋ฆฌ, ์ดํ›„ ๋ถ„๋ฆฌ.

โŒจ๏ธ ๊ธฐ๋ก ์ผ์ • ๊ด€๋ฆฌ (J144_์ด์Šน๋ฏผ)

  • ํšŒ์˜๋ก ์ž‘์„ฑ.

โš™๏ธ ๊ธฐ์ˆ  ์—ญํ• 

  • ๊ตฌํ˜„ : ๊ธฐ๋Šฅ๊ตฌํ˜„์— ์žˆ์–ด์„œ ๋‹ฌ๋ ค๋‚˜๊ฐ€๋Š” ์—ญํ•  (2022.11.07.)
  • ํ’ˆ์งˆ๊ด€๋ฆฌ : ๊ตฌํ˜„์— ์žˆ์–ด์„œ ๊ฐ„๊ณผ๋˜๊ฑฐ๋‚˜ ์ฝ”๋“œ ํ’ˆ์งˆ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ์จ์•ผํ•˜๋Š” ๋ถ€๋ถ„๋“ค์„ ์งš์–ด์ฃผ๊ธฐ

๐Ÿ–ฅ๏ธ ํ”„๋ก ํŠธ์—”๋“œ ๋ฆฌ๋”

๊ตฌํ˜„ ๋ฆฌ๋” (push) : J069_๋ฌธ์„ฑํ˜„

  • ํ”„๋ก ํŠธ์—”๋“œ์— ๋Œ€ํ•ด ๊ตฌํ˜„ ๋ฆฌ๋”ฉ

ํ’ˆ์งˆ๊ด€๋ฆฌ ๋ฆฌ๋” (pull) : J022_๊น€๊ด€๊ฒฝ

  • ํ”„๋ก ํŠธ์—”๋“œ์— ๋Œ€ํ•ด ์ฝ”๋“œ ํ’ˆ์งˆ, ํ…Œ์ŠคํŒ… ๋“ฑ ๊ด€๋ฆฌ

๐Ÿ“ฅ ๋ฐฑ์—”๋“œ ๋ฆฌ๋”

๊ตฌํ˜„ (push) ๋ฆฌ๋” : J026_๊น€๋Œ€ํ˜ธ

  • ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด ๊ตฌํ˜„ ๋ฆฌ๋”ฉ

ํ’ˆ์งˆ๊ด€๋ฆฌ (pull) ๋ฆฌ๋” : J144_์ด์Šน๋ฏผ

  • ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด ์ฝ”๋“œ ํ’ˆ์งˆ, ํ…Œ์ŠคํŒ… ๋“ฑ ๊ด€๋ฆฌ

๐Ÿ“ ํŒ€ undefined ๊ทœ์น™

๐Ÿšท ์ตœ์†Œํ•œ์˜ ๊ทœ์น™

์ด๊ฒƒ๋งŒํผ์€ ์ง€์ผœ์š”

  • ์ฝ”์–ดํƒ€์ž„ : 10์‹œ ~ 19์‹œ
  • ์ ์‹ฌ์‹œ๊ฐ„ : 12์‹œ ~ 13์‹œ (์ผ์ • ๋”ฐ๋ผ์„œ ๋ณ€๊ฒฝ)
  • ๊ฒŒ๋”ํƒ€์šด์ด ์ฝ”์–ดํƒ€์ž„ ์ค‘ ํšŒ์‚ฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ
  • ์ƒ๋Œ€๋ฐฉ์„ ์ƒ๊ฐํ•˜๋ฉฐ ๋งํ•˜๊ธฐ
  • ๊ณต์ง€ & ๋น„์ƒ ์ฑ„๋„ ์ฝ์œผ๋ฉด ์ฒดํฌํ‘œ์‹œ
  • ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์ด ์žˆ์—ˆ๋‹ค๋ฉด ๋ฌธ์„œํ™” & ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ํ•ด๋‹น ๋ฌธ์„œ ์ฝ์–ด๋ณด๊ธฐ
  • ์งˆ๋ฌธ์ด ์žˆ๋‹ค๋ฉด ์†์„ ๋“ค๊ณ  ๊ธฐ๋‹ค๋ ค์š”
  • ์ง„ํ–‰์ƒํ™ฉ ํ™•์ธ์„ ์œ„ํ•ด ํ•˜๋ฃจ์— ํ•˜๋‚˜ PR์„ ๋‚ ๋ ค์š”. (๋‹จ์œ„๊ฐ€ ์•ˆ๋งž์•„์„œ ๊ฑฐ์ ˆ๋‹นํ•ด๋„ ๊ดœ์ฐฎ์•„์š”.)
  • ํ”„๋กœ์ ํŠธ ๋ฆฌ๋” โ€˜์ฃ„์†กํ•ฉ๋‹ˆ๋‹คโ€™ ๊ธˆ์ง€
  • ํ”„๋กœ์ ํŠธ ๋ฆฌ๋”์—๊ฒŒ โ€˜์ฃ„์†กํ•ฉ๋‹ˆ๋‹คโ€™ ๊ธˆ์ง€

๊ฐœ๋ฐœ ๊ทœ์น™

  • ์ฝ”๋“œ ์น˜๊ธฐ ์ „์— ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ์„ ์ ๊ธฐ. ์ดํ›„ ์ž‘์—…์ด ์ข…๊ฒฐ๋˜์—ˆ์„ ๋•Œ, ์ž‘์—… ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๊ธฐ (๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์— ํฌ์ปค์‹ฑ)
  • ์ดํ›„ ์ด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ๋ชจ๋‘๊ฐ€ ์ž‘์—… ๋‚ด์šฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ. (์ด์Šˆ, ํ•™์Šต ์‚ฌํ•ญ, ๋ ˆํผ๋Ÿฐ์Šค ๋“ฑ)
  • ์ฝ์„ ์‚ฌ๋žŒ์„ ์ƒ๊ฐํ•˜๋ฉฐ ์ฝ”๋”ฉํ•˜๊ธฐ & PR ๋‚ ๋ฆฌ๊ธฐ & ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์“ฐ๊ธฐ
  • 30๋ถ„ ๊ณ ๋ฏผํ•ด๋ณด๊ณ  ํ•œ ๋ช…์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ, ์ดํ›„ ๊ทธ ์‚ฌ๋žŒ๋„ ๋ชจ๋ฅด๋ฉด ์ „์ฒด ์†Œ์ง‘
    • 2๋ช…์ด์ƒ์ด ํ•œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…๊ณผ ํ˜ผ์žํ•œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์€ ๋”ฐ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ธฐ
      • ๐Ÿ’ก ์šฐ๋ฆฌ undefined์˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ถ„๋ฅ˜ ๊ธฐ์ค€
        • ๐Ÿถ ๋„์ง€ ํ•˜๋‚˜ : ํ˜ผ์ž ๊ณ ๋ฏผํ•œ ๋ฌธ์ œ
        • ๐Ÿถ๐Ÿถ ๋„์ง€ ๋‘˜ : ๋‘˜์ด์„œ ๊ณ ๋ฏผํ•œ ๋ฌธ์ œ
        • ๐Ÿถ๐Ÿถ๐Ÿถ ๋„์ง€ ์…‹ : ๋‹ค๊ฐ™์ด ๊ณ ๋ฏผํ•œ ๋ฌธ์ œ

์‹œ๊ฐ„๋Œ€๋ณ„ ํ•  ์ผ (2022.11.07.)

๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ (30๋ถ„)

  • ์ „ ๋‚  ํ•œ ์ผ

๋ฐ์ผ๋ฆฌ ์ฝ”๋“œ๋ฆฌ๋ทฐ (1์‹œ๊ฐ„)

  • ๊ฐ€๋ณ๊ฒŒ ์ฝ”๋“œ๋ฆฌ๋ทฐ
  • ์ „์ฒด ์ฝ”๋“œ๋ฆฌ๋ทฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ํŒ€์›๋“ค์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๋งฅ๋ฝ ๋งž์ถ”๊ธฐ์— ์ค‘์ 
  • ๊ฐ€๋…์„ฑ์„ ์œ„์ฃผ๋กœ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ•œ๋‹ค.

Feature List ๊ฐฑ์‹  (30๋ถ„)

  • ์ „๋‚ ์˜ ์ด์Šˆ์™€ ์Šคํฌ๋Ÿผ์„ ํ† ๋Œ€๋กœ Feature List ๊ฐฑ์‹ 

๊ฐœ๋ฐœ

  • ๊ฐฑ์‹ ๋œ Feature List๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๊ธฐ

์ฝ”์–ดํƒ€์ž„ ๋งˆ๋ฌด๋ฆฌ ์Šคํฌ๋Ÿผ (30๋ถ„)

  • ํ•˜๋ฃจ ์ •๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ค‘๊ฐ„ ์ฒดํฌํฌ์ธํŠธ ๊ฐœ๋…
  • ์˜ค๋Š˜ ๊ฐœ๋ฐœ ์‚ฌํ•ญ ๊ฐ„๋‹จํžˆ ๊ณต์œ  (+ 2๋ช… ์ด์ƒ ๋ชจ์˜€๋˜ ๋‚ด์šฉ์ด ์žˆ์—ˆ์Œ์„ ๋‚˜๋ˆ„๊ธฐ)

โฐ ์ผ์ • (2022.11.07.)

Day01 ~ Day04 ์ฝ”์–ดํƒ€์ž„

์˜ค์ „


10:00 ~ 10:30 : ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ (์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ์ผ์ • ๊ด€๋ฆฌ - ์ฝ”๋“œ ์ œ์™ธ)

10:30 ~ 11:00 : ๋ฐ์ผ๋ฆฌ ์ฝ”๋“œ๋ฆฌ๋ทฐ (๊ฐ€๋…์„ฑ์— ์ค‘์ )

11:00 ~ 12:00 : Feature List ๊ฐฑ์‹ 

12:00 ~ 13:00 : ์ ์‹ฌ์‹œ๊ฐ„

  • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ •

    • ์„ฑํ˜„๋‹˜ : ํŒŒํŽธํ™”๋œ ์‹œ๊ฐ„ ์‚ฌ์šฉ์ด ์ข‹๋‹ค.

    โ‡’ ๊ด€๊ฒฝ, ๋Œ€ํ˜ธ : ํŒŒํŽธํ™”๋œ ์‹œ๊ฐ„์€ ๋ฃจ์ฆˆํ•ด์ง‘๋‹ˆ๋‹ค.

    โ‡’ ์„ฑํ˜„๋‹˜๊ป˜์„œ ์ฝ”์–ด ์ด์ „ ์‹œ๊ฐ„์— ์‚ฌ์šฉํ•˜์‹œ๊ธฐ๋กœ ํ•จ.

์˜คํ›„


13:00 ~ 17:00 / 19:00 : ๊ฐœ๋ฐœ

16:30 / 18:30 ~ 17:00 / 19:00 : ๋งˆ๋ฌด๋ฆฌ ์Šคํฌ๋Ÿผ

17:00 ~ 19:00(๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค) : ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค

์ฝ”์–ดํƒ€์ž„ ์ดํ›„

  • ์Šฌ๋ž™ ๋น„์ƒ ์ฑ„๋„์— ์˜ฌ๋ผ์˜ค๋Š”๊ฒƒ์— ์ฝ์—ˆ์œผ๋ฉด ์ฒดํฌ ์ด๋ชจ์ง€ ๋‚จ๊ฒจ์ฃผ๊ธฐ

๐Ÿ‘ ํŒ€ undefined Github ๊ทœ์น™

๐ŸŽ‹ Branch ๊ด€๋ฆฌ ์ „๋žต : git flow

git flow ์ „๋žต

  • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ •

    • trunk based
    • gitflow

    โ‡’ ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์“ฐ๊ธฐ์—๋Š”, ์•„์ง ๊ทธ ์ •๋„๋กœ ๊ดœ์ฐฎ์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์“ธ ์ˆ˜ ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

    โ‡’ git flow๋กœ ์„ ์ •

์ฝ”๋“œ ์ €์žฅ์†Œ ๊ด€๋ฆฌ ๊ทœ์น™

  • ๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์ €์žฅ์†Œ์— main, frontend, backend ๋ธŒ๋žœ์น˜ ๋งŒ๋“ฌ

  • main์— frontend, backend ํ•ฉ์นœ ๋‚ด์šฉ ์ €์žฅ - ๊ด€์ƒ์šฉ, pull์šฉ, ์„œ๋กœ์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋“ฑ ํ˜‘์—…์„ ์œ„ํ•จ

  • fe/main ๋ธŒ๋žœ์น˜ : frontend ๋ฐฐํฌ

  • be/main ๋ธŒ๋žœ์น˜ : backend ๋ฐฐํฌ

  • fe/release ๋ธŒ๋žœ์น˜ : frontend ๋ฐ๋ชจ ๋ฐฐํฌ

  • be/release ๋ธŒ๋žœ์น˜ : backend ๋ฐ๋ชจ ๋ฐฐํฌ

  • fe/dev ๋ธŒ๋žœ์น˜ : dev ๋ธŒ๋žœ์น˜

  • be/dev ๋ธŒ๋žœ์น˜ : dev ๋ธŒ๋žœ์น˜

  • fe/feature/๊ธฐ๋Šฅ๋ช…

  • be/feature/๊ธฐ๋Šฅ๋ช…

  • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ •

    ๋…ํŠนํ•œ ๊ตฌ์กฐ์ด๊ธด ํ•˜๋‚˜, ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰ ๋ฐฉ์‹์ด๋‚˜ ํ˜‘์—…์„ ์œ„ํ•จ

    1. ์˜์‚ฌ ๊ฒฐ์ •์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ๋“ค
      1. BE / FE ๋ธŒ๋žœ์น˜ ๋ถ„๊ธฐ์ 
        1. main โ‡’ release(๋ถ„๋ฆฌ) โ‡’
      2. ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜
      3. ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์งˆ ๋ธŒ๋žœ์น˜ - main / release

branch ๊ด€๋ฆฌ ๊ทœ์น™

main : release ๋˜๋Š” ๋ธŒ๋žœ์น˜

release : demo ๋ฒ„์ ผ ํ™•์ธ๋˜๋Š” ๋ธŒ๋žœ์น˜

dev : Day๋ณ„๋กœ release์— PR ๋‚ ๋ฆฌ๊ธฐ

feature : dev์— merge๋˜๋Š” ๊ธฐ๋Šฅ๋‹จ์œ„

  • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ •

    main ๋ธŒ๋žœ์น˜๋Š” ๋ฐฐํฌ๋ฒ„์ „๋‹จ์œ„๋กœ๋งŒ ๊ด€๋ฆฌ๋˜๋„๋ก

    dev๋Š” ์ •ํ•ด๋†“์€ ๊ธฐ๋Šฅ ๋‹จ์œ„ (์—ฌ๋Ÿฌ feature)

    feature๋Š” ์ปค๋ฐ‹ ๋‹จ์œ„

๐Ÿ“Œ Commit ๊ทœ์น™

์ปค๋ฐ‹ ์˜ˆ์‹œ

[feat] ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#1)
[style] ์„ธ๋ฏธ์ฝœ๋ก  ์ œ๊ฑฐ

์ปค๋ฐ‹ ์‹œ ๊ทœ์น™

  • force push ๊ธˆ์ง€
  • main ๋ธŒ๋žœ์น˜๋ฅผ rebase merge ๊ธˆ์ง€
  • ํ•œ ๋ฌธ์žฅ์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ commit

์ปค๋ฐ‹ ํƒ€์ž…

  • env (environment) : ํ™˜๊ฒฝ ์„ค์ •, ์˜์กด์„ฑ ์ถ”๊ฐ€
  • feat (feature) : ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • fix (bug fix) : ๋ฒ„๊ทธ ์ˆ˜์ • - ๊ธฐ๋Šฅ์˜ ์ˆ˜์ •๊ณผ ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ
  • refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง - ๊ธฐ๋Šฅ์ƒ์˜ ์ˆ˜์ •์—†์ด ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ. ์ฝ”๋“œ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ.
  • style (์‚ฌ์šฉ ํ›„ ๋ณ€๊ฒฝ) : ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์Šคํƒ€์ผ๋ง์„ ํฌํ•จํ•จ. importํ•ด๋†“๊ณ  ์•ˆ์ผ๋‹ค๊ฑฐ๋‚˜, ์ค„๋ฐ”๊ฟˆ ๋“ฑ. ๋ฆฌํŒฉํ† ๋ง๊ณผ ๋ณ„๋„๋กœ ์ฝ”๋“œ ์Šคํƒ€์ผ๋งŒ ๋ณ€๊ฒฝ. ๋„˜๊ฒจ๋„ ๋œ๋‹ค.
  • chore (maintain) : ๊ธฐํƒ€ ์žก๋‹คํ•œ ์ผ. ํด๋”, ํŒŒ์ผ ์‚ญ์ œ, ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ ๋“ฑ.
  • test (when adding missing tests) : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
  • docs (documentation) : ๋ฌธ์„œ

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๋‚ด์šฉ

  • ํ•œ๊ธ€๋กœ ์“ฐ๊ธฐ.
  • ์ฝ”๋“œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์˜์–ด๋กœ ์“ฐ๊ธฐ.

/ ์ฐธ๊ณ ์ž๋ฃŒ

[์ข‹์€ git commit ๋ฉ”์‹œ์ง€๋ฅผ ์œ„ํ•œ ์˜์–ด ์‚ฌ์ „](https://blog.ull.im/engineering/2019/03/10/logs-on-git.html)

๐Ÿคผ PR ๊ทœ์น™

PR ๋ฐœ์ƒ ๊ทœ์น™

  • Day๋ณ„๋กœ dev ๋ธŒ๋žœ์น˜ merge
  • feature ๋ธŒ๋žœ์น˜ ํ•˜๋‚˜๊ฐ€ ๋‹ซํžˆ๋ฉด dev์—
  • feature ๋ณ‘ํ•ฉ PR์˜ ์ตœ๋Œ€ ๊ธธ์ด๋‚˜ ๊ธฐ์ค€์„ ์ •ํ•˜์ž
    • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ • (๋ช…์„ธ์„œ๊ฐ€ ๋‚˜์˜จ๋‹ค์Œ ์ถ”ํ›„ ๋…ผ์˜)

      PR์ด ํฌ๋ฉด ๋ฆฌ๋ทฐ๋„ ์–ด๋ ต๊ณ , conflict ๋‚˜์˜ค๋Š” ์–‘์ด ๋งŽ์•„์งˆ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ PR ๊ธฐ์ค€์„ ์ •ํ•˜์ž.

      feature ๋‹จ์œ„๋ฅผ ์ง€๊ธˆ ์ •ํ•ด์•ผํ• ๊นŒ? โ‡’ ๋ช…์„ธ์„œ๊ฐ€ ๋‚˜์˜จ๋‹ค์Œ์—

PR ๋ณ‘ํ•ฉ ๊ทœ์น™

  • ์ƒ์„ฑ๋˜๋ฉด ๋‹ค์Œ๋‚  00์‹œ ์ด์ „์— ์ฝ”๋ฉ˜ํŠธ or ๋ฆฌ๋ทฐ
  • ๋ชจ๋“  ์‚ฌ๋žŒ์ด ํ™•์ธํ•ด์•ผ merge๋ฅผ ์›์น™

PR ์ž‘์„ฑ ๊ทœ์น™

  • ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์ฝ”๋“œ์˜ ๋งฅ๋ฝ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก PR์„ ์ž‘์„ฑํ•˜๊ธฐ
  • ํ•ด๋‹น PR์— ๋‹ด๊ธด ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž‘์„ฑํ•œ๋‹ค.
  • ์ž‘์—… ๋ฐฐ๊ฒฝ (Issue๋ณด๋‹ค ์„ธ์„ธํ•˜๊ฒŒ, ์™œ ์ด๋ ‡๊ฒŒ ์ ‘๊ทผ์„ ํ–ˆ๋Š”์ง€)
  • ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช… โ‡’ ์ดํ›„ PR ๋ณด๋ฉด์„œ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž‘์—…๋ฌผ์ด๋‚˜ ๊ฒฐ๊ณผ๋ฌผ ์‹œ๊ฐ ์ž๋ฃŒ (์Šคํฌ๋ฆฐ ์ƒท, ERD, UML ๋“ฑ๋“ฑโ€ฆ)
  • ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋งํฌ
  • ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, ์„ค๋ช…ํ•œ๋‹ค.
## ์ž‘์—… ๋ฐฐ๊ฒฝ

- ์ž‘์—… ๋ฐฐ๊ฒฝ์ž…๋‹ˆ๋‹ค.
- ์ด๋Ÿฐ ์ €๋Ÿฐ ์ด์œ ๋กœ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜์˜€์Šต๋‹ˆ๋‹ค.

## ์ž‘์—… ๋‚ด์—ญ

- ~~ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.
- ์ž‘์—… ๋‚ด์—ญ 1์ž…๋‹ˆ๋‹ค.
	- ์ด๋Ÿฐ ์ €๋Ÿฐ ํ”Œ๋กœ์šฐ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
- ์ž‘๋™ ์Šคํฌ๋ฆฐ์ƒท์ž…๋‹ˆ๋‹ค. (optional)

## ์ฝ”๋“œ ์„ค๋ช…

- ์ด๋Ÿฐ ์ด๋Ÿฐ ํ”Œ๋กœ์šฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

## ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

- ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค.
	- [ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋…ธ์…˜ ๋งํฌ 1](https://notion.so)
	- [ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋…ธ์…˜ ๋งํฌ 2](https://notion.so)

โš ๏ธ Issue ๊ทœ์น™

  • ์ด์Šˆ๋Š” feature, bug, refactor

  • ์˜์‚ฌ๊ฒฐ์ •๊ณผ์ •

    ์–ด๋–จ ๋•Œ ์ด์Šˆ๋ฅผ ๋ฐœํ–‰ํ•ด์•ผํ• ๊นŒ?

    • feature list๊ฐ€ ๋‚˜์™”์„ ๋•Œ - ๋‹ค ๊ฐ™์ด(๊ธฐํš๋‹จ๊ณ„)
    • feature lsit๊ฐ€ ์ˆ˜์ •๋  ๋•Œ - ๋‹ค ๊ฐ™์ด(์ง„ํ–‰๋‹จ๊ณ„)
    • bug - ํ˜ผ์ž : ์˜ฌ๋ฆฌ๊ณ  ๊ณต์œ ํ•˜๊ธฐ
    • refactor - ํ˜ผ์ž : ์˜ฌ๋ฆฌ๊ณ  ๊ณต์œ ํ•˜๊ธฐ

๐Ÿ–ฅ๏ธ ์™€๊ธ€์™€๊ธ€ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๐Ÿ”  ์ฝ”๋“œ ์Šคํƒ€์ผ

๊ณตํ†ต

  • ๊ฐ์ฒด trailing comma ์‚ฌ์šฉ

  • ๊ฐ์ฒด ๋‹จ์ถ•๋ฌธ๋ฒ• ์‚ฌ์šฉ

  • if๋ฌธ ํ•œ ์ค„์งœ๋ฆฌ๋ผ๋„ ์ค‘๊ด„ํ˜ธ ํ•„์ˆ˜

  • while true ์‚ฌ์šฉ ๊ธˆ์ง€

  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด 1๊ฐœ๊นŒ์ง€

  • ํ•จ์ˆ˜ ํ˜ธ์ด์ŠคํŒ… ์‚ฌ์šฉ ๊ธˆ์ง€

    add(); // ๋™์ž‘
    
    function add(){
    }
    
    minus(); // ์—๋Ÿฌ => undefined๋ฅผ ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.
     
    const minus = () => {};
    
    minus(); // ๋™์ž‘
    

ํ•จ์ˆ˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

  • ์นด๋ฉœ์ผ€์ด์Šค๋กœ ๋งŒ๋“ ๋‹ค.
  • ํ•จ์ˆ˜๋Š” ๋™์‚ฌ๋กœ ๋งŒ๋“ ๋‹ค.
  • ์ ‘๋‘์–ด๋Š” ๊ตฌํ˜„ํ•˜๋ฉฐ ํ™•์ธํ•œ๋‹ค.
  • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ : handle + ํ–‰์œ„(ex. click) + ๋ชฉ์ ์–ด

๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

  • ์นด๋ฉœ์ผ€์ด์Šค๋กœ ๋งŒ๋“ ๋‹ค.
  • ๋ณ€์ˆ˜๋Š” ๋ช…์‚ฌ๋กœ ๋งŒ๋“ ๋‹ค.

ํด๋”๋ช… ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ - ๋ฆฌ๋ˆ…์Šค ํ™•์ธ

  • ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋กœ ์‚ฌ์šฉ
  • ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๐ŸŽจ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ์Šคํƒ€์ผ (Non-semantic)

  • Space 2๋ฒˆ
  • ๋ฌธ์ž์—ด์€ single quote
  • semi colon ํ•ญ์ƒ
  • ํ•œ ์ค„์— 80์ž (์“ฐ๋ฉด์„œ ๋ถˆํŽธํ•˜๋ฉด ๋Š˜๋ฆฌ๊ธฐ)
  • ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” 2๋ฒˆ๊นŒ์ง€