๐ŸŒฟGit ๋ธŒ๋žœ์น˜ ๋ณต์žก๋„ ํ‰๊ฐ€๊ธฐ

ํ™œ์„ฑ ๋ธŒ๋žœ์น˜ ์ˆ˜์™€ ๋ณ‘ํ•ฉ ๋นˆ๋„, ์ƒ์กด ๊ธฐ๊ฐ„์„ ์ž…๋ ฅํ•˜๋ฉด ๋ณต์žก๋„ ์ ์ˆ˜๋ฅผ ์•Œ๋ ค๋“œ๋ ค์š”.

ํ•ญ๋ชฉ๊ฐ’
ํ™œ์„ฑ ๋ธŒ๋žœ์น˜ ์ˆ˜-๊ฐœ
๋ธŒ๋žœ์น˜๋‹น ์ฃผ๊ฐ„ ๋ณ‘ํ•ฉ ๋น„์œจ-
ํ‰๊ท  ์ƒ์กด ๊ธฐ๊ฐ„-์ผ

๋ธŒ๋žœ์น˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์ปค์ง€๋Š” ๊ด€๋ฆฌ ๋ฆฌ์Šคํฌ

Git ์ €์žฅ์†Œ๋ฅผ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜, ํ•ซํ”ฝ์Šค ๋ธŒ๋žœ์น˜, ์‹คํ—˜์šฉ ๋ธŒ๋žœ์น˜๊ฐ€ ๋Š์ž„์—†์ด ์ƒ๊ฒจ๋‚ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ '์˜ค๋ž˜ ์‚ด์•„์žˆ๋Š” ๋ธŒ๋žœ์น˜'์™€ '๋ณ‘ํ•ฉ ๋นˆ๋„'์˜ ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜๊ฐ€ ์˜ค๋ž˜ ๋ฐฉ์น˜๋ ์ˆ˜๋ก ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์™€์˜ ์ฝ”๋“œ ์ฐจ์ด(diff)๊ฐ€ ์ปค์ ธ ์ถฉ๋Œ(conflict) ์œ„ํ—˜์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ , ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ธฐ๋„ ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ๋Š” ํ™œ์„ฑ ๋ธŒ๋žœ์น˜ ์ˆ˜, ์ฃผ๊ฐ„ ํ‰๊ท  ๋ณ‘ํ•ฉ ํšŸ์ˆ˜, ๋ธŒ๋žœ์น˜์˜ ํ‰๊ท  ์ƒ์กด ๊ธฐ๊ฐ„์„ ์ž…๋ ฅ๋ฐ›์•„ ์ €์žฅ์†Œ์˜ ๊ด€๋ฆฌ ๋ณต์žก๋„๋ฅผ ํ•˜๋‚˜์˜ ์ ์ˆ˜๋กœ ํ™˜์‚ฐํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ํ‰๊ท  ์ƒ์กด ๊ธฐ๊ฐ„์ด 14์ผ์„ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ ๊ฐ€์ค‘์น˜๋ฅผ ๋” ํฌ๊ฒŒ ๋ถ€์—ฌํ•˜๋Š”๋ฐ, ์ด๋Š” ์‹ค๋ฌด์—์„œ 2์ฃผ ์ด์ƒ ๋ฏธ๋ณ‘ํ•ฉ๋œ ๋ธŒ๋žœ์น˜๊ฐ€ ์ถฉ๋Œยท๋ฆฌ๋ทฐ ์ง€์—ฐ์˜ ์ฃผ๋ฒ”์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ ์ˆ˜๊ฐ€ 60์ ์„ ๋„˜์œผ๋ฉด ๋ธŒ๋žœ์น˜ ์ •๋ฆฌ ์ •์ฑ…(์˜ˆ: Stale Branch ์ž๋™ ์‚ญ์ œ, Trunk-Based Development ๋„์ž…)์„ ๊ฒ€ํ† ํ•  ์‹œ์ ์ž…๋‹ˆ๋‹ค.

๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์€ ๋ธŒ๋žœ์น˜์˜ ์ƒ์กด ๊ธฐ๊ฐ„์„ ์ตœ๋Œ€ํ•œ ์งง๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์„ ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ ๋น ๋ฅด๊ฒŒ ๋ณ‘ํ•ฉํ•˜๋Š” ์Šต๊ด€, ๊ทธ๋ฆฌ๊ณ  ๋ณ‘ํ•ฉ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ์ฆ‰์‹œ ์‚ญ์ œํ•˜๋Š” CI ์ •์ฑ…์„ ํ•จ๊ป˜ ์ ์šฉํ•˜๋ฉด ์ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ด ์ ์ˆ˜๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ธก์ •ํ•˜๋ฉฐ ๊ด€๋ฆฌ ์ „๋žต์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋ธŒ๋žœ์น˜ ์ˆ˜๊ฐ€ ์ ์–ด๋„ ์ ์ˆ˜๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‚˜์š”?

๋„ค. ๋ธŒ๋žœ์น˜ ์ˆ˜๊ฐ€ ์ ์–ด๋„ ๋ณ‘ํ•ฉ ์—†์ด ์˜ค๋ž˜ ๋ฐฉ์น˜๋˜๋ฉด ์ƒ์กด ๊ธฐ๊ฐ„ ๊ฐ€์ค‘์น˜ ๋•Œ๋ฌธ์— ์ ์ˆ˜๊ฐ€ ๋†’์•„์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์ธ ์ ์ˆ˜ ๋ฒ”์œ„๋Š” ์–ด๋А ์ •๋„์ธ๊ฐ€์š”?

์ผ๋ฐ˜์ ์œผ๋กœ 30์  ์ดํ•˜๊ฐ€ ์•ˆ์ •์ ์ธ ์ƒํƒœ์ด๋ฉฐ, 60์ ์„ ๋„˜์œผ๋ฉด ๋ธŒ๋žœ์น˜ ์ •๋ฆฌ์™€ ๋ณ‘ํ•ฉ ์ „๋žต ์žฌ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Trunk-Based Development๊ฐ€ ์ ์ˆ˜์— ๋„์›€์ด ๋˜๋‚˜์š”?

๋„ค. ๋ธŒ๋žœ์น˜ ์ƒ์กด ๊ธฐ๊ฐ„์„ ์งง๊ฒŒ ์œ ์ง€ํ•˜๋Š” ์ „๋žต์ด๋ผ ๋ณต์žก๋„ ์ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ๋‚ฎ์ถ”๋Š” ๋ฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.