Skip to content

๐Ÿง ํŒ€ ๋นŒ๋”ฉ ๋ฐ ๋ธŒ๋žœ์น˜ ์ „๋žต

Junsang Yu edited this page Nov 12, 2024 · 1 revision

์ฒซ๋‚  ํ•  ์ผ

์ €์žฅ์†Œ ์ƒ์„ฑ๊ทธ๋ผ์šด๋“œ๋ฃฐ ์ •ํ•˜๊ธฐํ˜‘์—… ๋ฐฉ์‹ + ๋ธŒ๋žœ์น˜ ์ „๋žต ์ •ํ•˜๊ธฐREADME ์ตœ์†Œ ๋‚ด์šฉ ์ž‘์„ฑ

  • ์ €์žฅ์†Œ ์ƒ์„ฑ

    ์ €์žฅ์†Œ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜: ํŒ€ID-ํ”„๋กœ์ ํŠธ๋ช…(์˜๋ฌธ) (ex.์†Œ web01-boostproject)

  • ๊ทธ๋ผ์šด๋“œ๋ฃฐ ์ •ํ•˜๊ธฐ

    ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

  • ํ˜‘์—… ๋ฐฉ์‹ + ๋ธŒ๋žœ์น˜ ์ „๋žต ์ •ํ•˜๊ธฐ

  • README ์ตœ์†Œ ๋‚ด์šฉ ์ž‘์„ฑ

    • ํŒ€์› ์†Œ๊ฐœ
    • ํ˜‘์—… ์ „๋žต (๋ธŒ๋žœ์น˜ ๊ตฌ์กฐ์™€ ๋ถ„์—…ํ•˜๊ธฐ, ์˜์กด์ ์ธ ์ž‘์—…ํ•˜๊ธฐ)
    • ๊ทธ๋ผ์šด๋“œ๋ฃฐ (์ตœ์†Œํ•œ์˜ ๊ทœ์น™, ๋ฌด์—‡์ด ํ•„์š”ํ•œ๊ฐ€๋Š” ๋‹ค๊ฐ™์ด ์ฐพ์•„๋ณด์„ธ์š”)
    • ๊ธฐํš/๋””์ž์ธ ๋งํฌ
    • ์ปค๋ฐ‹ ํ…œํ”Œ๋ฆฟ, ์ด์Šˆ ํ…œํ”Œ๋ฆฟย : ๊ฐœ๋ฐœ ์ž‘์—…์„ ์œ„ํ•œ ๊ณตํ†ต ์ž๋ฃŒ
    • ํšŒ์˜๋ก/์ด์Šˆ/์œ„ํ‚ค ์—ฐ๊ฒฐย : ํ˜‘์—…๊ณผ ๊ฐœ๋ฐœ ๊ณผ์ •์˜ ๋ฌธ์„œ ์ž๋ฃŒ
    • ๋ฐฐํฌ ๋งํฌ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋งํฌ๋„ ๊ธฐ์ˆ 

๋ธŒ๋žœ์น˜โ‹…๋””๋ ‰ํ† ๋ฆฌ ๋ถ„๋ฆฌ

์˜๊ฒฌ 1 : client , server ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ถ„๋ฆฌ FE , BE frontend , backend

์˜๊ฒฌ 2 : FE BE ๋ธŒ๋žœ์น˜ ๊ฐ๊ฐ ๋‚˜๋ˆ„๊ธฐ

โ†’ ๋‘˜ ๋‹ค ์‚ฌ์šฉ

frontend/login

FE/feat/story

BE/feat/signup

FE/fix/login

feat/login

image

  • feature/card-input: ์นด๋“œ ์ž…๋ ฅ ๊ด€๋ จ ๊ธฐ๋Šฅ (1-1, 1-2)
  • feature/message-transfer: ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ด€๋ จ ๊ธฐ๋Šฅ (1-3, 1-4)
  • feature/app-integration: ์•ฑ ์—ฐ๋™ ๊ธฐ๋Šฅ (1-5)
  • feature/server-response: ์„œ๋ฒ„ ์‘๋‹ต ์ฒ˜๋ฆฌ (1-6, 1-7, 1-8)

FE/feat/story/task

Story ๋‹จ์œ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ ์•ˆ์—์„œ Task ๋‹จ์œ„ ์ž‘์—…์„ ํ•˜์œ„ ๋ธŒ๋žœ์น˜๋‚˜ ์ปค๋ฐ‹ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด fe/feature/user-login ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ์ž‘์€ Task๋“ค์„ ์ปค๋ฐ‹์ด๋‚˜ ์ถ”๊ฐ€ ๋ธŒ๋žœ์น˜๋กœ ๋‚˜๋ˆ ์„œ ์ž‘์—…ํ•˜๋ฉด ๋” ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ๊ฐ€ feat/login ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ™์ด ์“ด๋‹ค๋ฉด

  • ํ”„๋ก ํŠธ๋Š” ์ž‘์—…์ค‘์ธ๋ฐ ๋ฐฑ์—”๋“œ๊ฐ€ ๋จผ์ € ์ž‘์—…์ด ๋๋‚˜์„œ PR ๋จธ์ง€๊ฐ€ ๋˜๋ฉด

  • ํ”„๋ก ํŠธ์— ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ž‘์—…์ด master ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€๊ฐ€ ๋˜๋Š” ๋ฌธ์ œ

  • ๋ธŒ๋žœ์น˜ ์ „๋žต GPT ๋‹ต๋ณ€

    ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” ๊ฐ ํด๋”์— ๋งž๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Git ๋ธŒ๋žœ์น˜ ์ „๋žต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์ด ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

    1. ๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๊ตฌ๋ถ„

    • main: ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•  ์ตœ์ข… ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์•ˆ์ •๋œ ๋ธŒ๋žœ์น˜๋กœ, ์ฃผ๋กœ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์ด ๋จธ์ง€๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
    • dev: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๊ฐ€ ํ†ตํ•ฉ๋œ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜(feature branch)๋Š” dev ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€๋œ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

    2. ๊ธฐ๋Šฅ๋ณ„ ๋ธŒ๋žœ์น˜ ์ „๋žต

    • ๊ณตํ†ต์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ server/feature-<๊ธฐ๋Šฅ๋ช…> ๋˜๋Š” client/feature-<๊ธฐ๋Šฅ๋ช…> ํ˜•์‹์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ๊ฐ์— ๋…๋ฆฝ์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋”ฐ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•จ๊ป˜ ์—…๋ฐ์ดํŠธ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” feature/combined-<๊ธฐ๋Šฅ๋ช…> ํ˜•์‹์œผ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด dev์— ๋จธ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    3. ํ•ซํ”ฝ์Šค ๋ธŒ๋žœ์น˜

    • ํ”„๋กœ๋•์…˜์—์„œ ๋ฐœ์ƒํ•œ ๊ธด๊ธ‰ํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ hotfix/issue-<๋ฒ„๊ทธ๋ช…> ํ˜•์‹์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๊ณ , ์—ฌ๊ธฐ์„œ ๋ฐœ์ƒํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ main๊ณผ dev ๋ธŒ๋žœ์น˜์— ๋™์‹œ์— ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

    4. ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜

    • ๋ฆด๋ฆฌ์Šค ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด release/<๋ฒ„์ „> ํ˜•์‹์˜ ๋ธŒ๋žœ์น˜๋ฅผ dev์—์„œ ๋ถ„๊ธฐํ•˜์—ฌ, ์•ˆ์ •ํ™” ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„ main์œผ๋กœ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”์‹œ ๋ฐฐํฌ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

    ์˜ˆ์‹œ ๋ธŒ๋žœ์น˜ ํ๋ฆ„

    1. server/feature-authentication, client/feature-authentication์™€ ๊ฐ™์ด ๋ถ„๋ฆฌ๋œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
    2. ๊ฐ๊ฐ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•œ ํ›„, dev ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€
    3. ๋ชจ๋“  ํ…Œ์ŠคํŠธ์™€ ํ†ตํ•ฉ ๊ฒ€์ฆ์ด ๋๋‚˜๋ฉด release/1.0๊ณผ ๊ฐ™์ด ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ํ›„ ์•ˆ์ •ํ™”
    4. ์•ˆ์ •ํ™”๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด main ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋ฐฐํฌ

    ์ด์™€ ๊ฐ™์€ ์ „๋žต์€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•˜๋ฉด์„œ, ๋ณ‘ํ•ฉ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์ž‘์—… ํ๋ฆ„์„ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

๐Ÿš€ ํ”„๋กœ์ ํŠธ ๊ทœ์น™

๐Ÿš€ ํ”„๋กœ์ ํŠธ ๊ธฐํš

๐Ÿ“ฝ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

๐Ÿ‘ฅ ๊ทธ๋ฃน ํšŒ๊ณ 

๐Ÿ““ ๋ฉ˜ํ† ๋ง ์ผ์ง€

๐Ÿ“† ํšŒ์˜๋ก

๐Ÿง ๊ฐœ๋ฐœ์ผ์ง€

Clone this wiki locally