# [[Git Flow]] ## ๐Ÿ“Œ Brief Summary Git Flow๋Š” ์ฃผ๋กœ ์ •๊ธฐ์ ์ธ ๋ฆด๋ฆฌ์Šค(scheduled releases) ์ผ์ •์ด ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์œ ์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ธŒ๋žœ์นญ ์ „๋žต์ž…๋‹ˆ๋‹ค. ์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์ฝ”๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด `main` ๋ธŒ๋žœ์น˜ ์™ธ์— `develop`, `release` ๋“ฑ ๋ช…ํ™•ํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณต์žก๋„๊ฐ€ ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๊ทœ๋ชจ ํŒ€์ด๋‚˜ ๋น ๋ฅธ ํ†ตํ•ฉ์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ๐Ÿ“– Core Content * **Git Flow์˜ ํ•ต์‹ฌ ๊ตฌ์กฐ:** Git Flow๋Š” `main` ๋ธŒ๋žœ์น˜ ์™ธ์— ์ƒˆ๋กœ์šด ํ†ตํ•ฉ(integration) ๋ธŒ๋žœ์น˜์ธ `develop` ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ(Feature)์„ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ์ด `develop` ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์—…ํ•˜๋ฉฐ, ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ `develop` ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(Merge)ํ•ฉ๋‹ˆ๋‹ค [1]. * **๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ:** ๋ฐฐํฌ ์ค€๋น„๋ฅผ ์œ„ํ•ด ๋ณ„๋„์˜ `release` ๋ธŒ๋žœ์น˜๋ฅผ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [1, 2]. ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์ •ํ•ด์ง„ ์ผ์ •์— ๋”ฐ๋ฅธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์ตœ์ข… ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ ์ค€๋น„ ๊ณผ์ •์„ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 3]. * **๋‹ค๋ฅธ ๋ธŒ๋žœ์นญ ์ „๋žต๊ณผ์˜ ๋น„๊ต ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜:** Git Flow๋Š” GitHub Flow, GitLab Flow, Trunk-Based Development, Feature Branch Workflow ๋“ฑ๊ณผ ํ•จ๊ป˜ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์ฃผ์š” ๋ธŒ๋žœ์นญ ์ „๋žต ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค [4]. ํŒ€์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€ํ•จ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ „๋žต์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋” ๋‹จ์ˆœํ•œ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜๋ฅผ ์—†์• ๊ณ  `develop`์„ `main`์— ํ†ตํ•ฉํ•˜์—ฌ GitHub Flow๋กœ ๋„˜์–ด๊ฐ€๊ฑฐ๋‚˜, ๋ฐ˜๋Œ€๋กœ ์ฒด๊ณ„์ ์ธ ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ `develop`๊ณผ `release` ๋ธŒ๋žœ์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ Git Flow๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 2]. * **๋ชจ๋ฒ” ์‚ฌ๋ก€์˜ ์ ์šฉ:** Git Flow๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋„ ๋ณดํŽธ์ ์ธ Git ์›Œํฌํ”Œ๋กœ์šฐ ๋ชจ๋ฒ” ์‚ฌ๋ก€(Best Practices)๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜๋ฏธ ์žˆ๋Š” ์งง์€ ๋ธŒ๋žœ์น˜๋ช… ์‚ฌ์šฉ, ํ‹ฐ์ผ“ ID(์˜ˆ: PROJ-123) ํฌํ•จ, Pull Request(PR)๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ๊ทธ๋ฆฌ๊ณ  ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ ํ›„ ์‚ญ์ œ ๋“ฑ์„ ์ฒ ์ €ํžˆ ์ง€์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค [5-8]. ## โš–๏ธ Trade-offs & Caveats * **์˜ค๋ฒ„ํ—ค๋“œ์™€ ๋ณต์žก์„ฑ:** Git Flow๋Š” ๊ด€๋ฆฌํ•ด์•ผ ํ•  ๋ธŒ๋žœ์น˜์˜ ์ข…๋ฅ˜๊ฐ€ ๋งŽ๊ณ  ๊ทœ์น™์ด ์—„๊ฒฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [9, 10]. 2~5๋ช… ๊ทœ๋ชจ์˜ ์†Œ๊ทœ๋ชจ ํŒ€์ด๋‚˜ ์ดˆ๋ณด์ž์—๊ฒŒ๋Š” ๋„ˆ๋ฌด ๋ฌด๊ฑฐ์šด(heavy) ์ „๋žต์ด๋ฉฐ, ์˜คํžˆ๋ ค ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋Šฆ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 11, 12]. * **ํ†ตํ•ฉ ์†๋„ ๋ฐ ์ถฉ๋Œ ๋ฌธ์ œ:** ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜ ๊ณ„์ธต(`feature` -> `develop` -> `release` -> `main`)์„ ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ ์ฝ”๋“œ ๋ณ‘ํ•ฉ๊ณผ ๋ฐฐํฌ ์†๋„๊ฐ€ Trunk-Based Development๋‚˜ ๋‹จ์ˆœํ•œ Feature Branch ์›Œํฌํ”Œ๋กœ์šฐ์— ๋น„ํ•ด ๋А๋ ค์ง‘๋‹ˆ๋‹ค [2, 3]. ์ˆ˜๋ช…์ด ๊ธด ๋ธŒ๋žœ์น˜๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋†’์•„ ํฐ ๋จธ์ง€ ์ถฉ๋Œ(Merge Conflict)์„ ๊ฒช์„ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค [10, 13]. ## ๐Ÿ”— Knowledge Connections ### Related Concepts #### [๊ด€๊ณ„ ์œ ํ˜• A (์•„ํ‚คํ…์ฒ˜/๊ธฐ๋ฐ˜ ์ „๋žต)] - [[GitHub Flow]] - ์—ฐ๊ฒฐ ์ด์œ : Git Flow๋ณด๋‹ค ๋” ๋‹จ์ˆœํ•œ ๋Œ€์•ˆ์œผ๋กœ ์ž์ฃผ ๋น„๊ต๋˜๋ฉฐ, Git Flow์—์„œ ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜์™€ `develop` ๋ธŒ๋žœ์น˜๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ `main`์œผ๋กœ ์ง์ ‘ ๋ณ‘ํ•ฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ธŒ๋žœ์นญ ์ „๋žต์˜ ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๋‹จ์ถ•ํ•˜์—ฌ ๋ณด๋‹ค ๋ฏผ์ฒฉํ•œ ๊ฐœ๋ฐœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•. - [[Trunk-Based Development]] - ์—ฐ๊ฒฐ ์ด์œ : ๊ฐ•๋ ฅํ•œ CI์™€ ์งง์€ ์ˆ˜๋ช…์˜ ๋ธŒ๋žœ์น˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งค์šฐ ๋น ๋ฅธ ํ†ตํ•ฉ์„ ์ถ”๊ตฌํ•˜๋Š” ์ „๋žต์œผ๋กœ, ๋ณต์žกํ•˜๊ณ  ๋ฌด๊ฑฐ์šด Git Flow์™€ ๊ทน๋ช…ํ•˜๊ฒŒ ๋Œ€๋น„๋ฉ๋‹ˆ๋‹ค [2, 3]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ธŒ๋žœ์น˜ ๊ณ„์ธต์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ํ†ตํ•ฉ ์ถฉ๋Œ์„ ์ค„์ด๊ณ , ๋น ๋ฅธ ์ฃผ๊ธฐ๋กœ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹. - [[Feature Branch Workflow]] - ์—ฐ๊ฒฐ ์ด์œ : ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ `main`์ด ์•„๋‹Œ ํŠน์ • ๊ธฐ๋Šฅ(Feature)์„ ์œ„ํ•œ ์ „์šฉ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, Git Flow๋ฅผ ํฌํ•จํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋žœ์นญ ์ „๋žต์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ํ•ต์‹ฌ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค [5, 12, 14]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋กœ ์ฝ”๋“œ๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ณ  ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ ์ž‘์—… ๋‚ด์—ญ์„ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ์›๋ฆฌ. #### [๊ด€๊ณ„ ์œ ํ˜• B (๊ตฌํ˜„/๊ฑฐ๋ฒ„๋„Œ์Šค ๋„๊ตฌ)] - [[Pull Request (PR)]] - ์—ฐ๊ฒฐ ์ด์œ : Git Flow์˜ ๋ณต์žกํ•œ ๋ธŒ๋žœ์น˜ ํ™˜๊ฒฝ(์˜ˆ: feature์—์„œ develop์œผ๋กœ ๋ณ‘ํ•ฉ)์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ๋™๋ฃŒ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ํ•˜๋Š” ํ•„์ˆ˜์ ์ธ ํ’ˆ์งˆ ํ†ต์ œ ๊ด€๋ฌธ์ž…๋‹ˆ๋‹ค [7, 15]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ํŒ€ ๋‚ด ์ฝ”๋“œ ํ’ˆ์งˆ ์œ ์ง€, ์ง€์‹ ๊ณต์œ  ๋ฐ ๋ณ‘ํ•ฉ ์ „ ๊ฒฐํ•จ ์ฐจ๋‹จ ๋ฉ”์ปค๋‹ˆ์ฆ˜. - [[Conventional Commits]] - ์—ฐ๊ฒฐ ์ด์œ : ์ˆ˜๋งŽ์€ ๋ธŒ๋žœ์น˜์™€ ์ปค๋ฐ‹์ด ์–ฝํžˆ๋Š” Git Flow์—์„œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๊ทœ๊ฒฉํ™”(`feat:`, `fix:`, `chore:` ๋“ฑ)ํ•˜์—ฌ ๊ธฐ๋ก์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [15, 16]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ์ผ๊ด€๋˜๊ฒŒ ์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ทœ์•ฝ. ### Deeper Research Questions - Git Flow์˜ `develop` ๋ธŒ๋žœ์น˜์™€ `main` ๋ธŒ๋žœ์น˜๋ฅผ ์žฅ๊ธฐ๊ฐ„ ๋ถ„๋ฆฌํ•˜์—ฌ ์šด์˜ํ•  ๋•Œ ํ•„์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋จธ์ง€ ์ถฉ๋Œ(Merge Conflict)์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ๋™๊ธฐํ™” ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€? - ์†Œ๊ทœ๋ชจ ํŒ€์ด ๋‹จ์ผ ๋ธŒ๋žœ์น˜ ๋˜๋Š” ๋‹จ์ˆœ Feature Branch Workflow์—์„œ Git Flow๋กœ ์ „ํ™˜(Migration)ํ•ด์•ผ ํ•˜๋Š” ๊ฐ€์žฅ ์ ์ ˆํ•œ ์กฐ์ง์ , ๋น„์ฆˆ๋‹ˆ์Šค์  ํƒ€์ด๋ฐ๊ณผ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€? - Git Flow ํ™˜๊ฒฝ์—์„œ ๊ธด๊ธ‰ํ•œ ์šด์˜ ์„œ๋ฒ„ ๋ฒ„๊ทธ ์ˆ˜์ •(Hotfix)์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, `main`๊ณผ `develop` ๋ธŒ๋žœ์น˜ ์–‘์ชฝ์— ์•ˆ์ „ํ•˜๊ณ  ์‹ ์†ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”๊ฐ€? - Git Flow์™€ Trunk-Based Development์˜ ๋ธŒ๋žœ์น˜ ์ˆ˜๋ช…(Lifetime) ์ฐจ์ด๊ฐ€ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์˜ ๊ตฌ์ถ• ๋ฐ ์ž๋™ํ™” ํ…Œ์ŠคํŠธ ํšŸ์ˆ˜์— ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๊ฐ€? - ์ถ”์ ์„ฑ์„ ์œ„ํ•ด ํ‹ฐ์ผ“ ID(์˜ˆ: JIRA)๋ฅผ ๋ธŒ๋žœ์น˜์™€ ์ปค๋ฐ‹์— ์‚ฌ์šฉํ•  ๋•Œ, ๋ณต์žกํ•œ ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜(Release Branch) ๋‹จ๊ณ„์—์„œ ์—ฌ๋Ÿฌ ํ‹ฐ์ผ“์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ˆ„๋ฝ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ชจ๋ฒ” ๊ด€ํ–‰์€ ๋ฌด์—‡์ธ๊ฐ€? ### Practical Application Contexts - **Implementation:** ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ `main` ๋ธŒ๋žœ์น˜๋Š” ํ•ญ์ƒ ์•ˆ์ •์ ์ด๊ณ  ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋ณดํ˜ธํ•˜๋ฉฐ, ์‹ค์งˆ์ ์ธ ๊ฐœ๋ฐœ ํ†ตํ•ฉ์€ `develop` ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค [1, 12]. ๋ชจ๋“  ์ปค๋ฐ‹๊ณผ ๋ธŒ๋žœ์น˜๋ช…์—๋Š” ํ‹ฐ์ผ“ ID๋ฅผ ํฌํ•จ์‹œ์ผœ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ์˜ ์ถ”์ ์„ฑ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค [7]. - **System Design:** ์˜ˆ์•ฝ๋œ ๋ฆด๋ฆฌ์Šค ์Šค์ผ€์ค„์„ ์ง€์›ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์— ์ ํ•ฉํ•˜๋ฉฐ, ๋ฐฐํฌ ์ „์— `release` ๋ธŒ๋žœ์น˜๋ฅผ ํ†ตํ•ด ์ตœ์ข… QA์™€ ๋ฒ„์ „ ํƒœ๊น…(Tagging)์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค [1, 3, 7]. - **Operation / Maintenance:** ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ(Branch Protection), ๋ฆฌ๋ทฐ์–ด ํ•„์ˆ˜ ์ง€์ •, CI ์ƒํƒœ ์ฒดํฌ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ `develop` ๋ธŒ๋žœ์น˜์˜ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๋ฉฐ, ๋จธ์ง€ ํ›„์—๋Š” ์ž‘์—…์ด ๋๋‚œ ๋ธŒ๋žœ์น˜๋ฅผ ์ž๋™ ์‚ญ์ œํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค [5, 13]. - **Learning Path:** ์ฒ˜์Œ๋ถ€ํ„ฐ Git Flow๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ๊ฐ€๋ฒผ์šด Feature Branch Workflow ๋˜๋Š” GitHub Flow๋กœ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋‹ค์ง„ ํ›„, ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ ์ง„์ ์œผ๋กœ `develop`๊ณผ `release` ๋ธŒ๋žœ์น˜ ๊ฐœ๋…์„ ํ•™์Šตํ•˜๊ณ  ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [1-3]. - **My Project Relevance:** ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์˜ ํŒ€ ๊ทœ๋ชจ์™€ ๋ฐฐํฌ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ์ฑ„ํƒ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์›์ด 3~5๋ช…์ธ ์†Œ๊ทœ๋ชจ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฐ Git Flow๋ณด๋‹ค๋Š” ์งง์€ ์ˆ˜๋ช…์˜ Feature ๋ธŒ๋žœ์น˜์™€ ๊ฒฐํ•ฉ๋œ ๋” ๋‹จ์ˆœํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค [3, 10, 14]. ### Adjacent Topics - [[CI/CD (Continuous Integration/Continuous Deployment)]] - ํ™•์žฅ ๋ฐฉํ–ฅ: Git Flow์˜ ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜(`develop`, `release`, `main`) ํ™˜๊ฒฝ์— ๋งž์ถฐ ๋‹จ๊ณ„๋ณ„๋กœ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•˜๋Š”์ง€ ํƒ๊ตฌ. - [[Agile Methodology]] - ํ™•์žฅ ๋ฐฉํ–ฅ: Git Flow์˜ ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜ ์šด์šฉ์ด ์• ์ž์ผ์˜ ์Šคํ”„๋ฆฐํŠธ(Sprint) ์ฃผ๊ธฐ ๋ฐ ์ด์Šˆ ํŠธ๋ž˜์ปค(Issue Tracker)์™€ ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉ๋˜์–ด ์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ํ˜•์„ฑํ•˜๋Š”์ง€ ๋ถ„์„. --- *Last updated: 2026-04-30*