๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ

[๊นƒํ—ˆ๋ธŒ] ๊ธฐ๋ณธ Git ๋ช…๋ น์–ด ๋ฐ Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต ํ๋ฆ„๋„ ์ดํ•ดํ•˜๊ธฐ

hyonie 2024. 12. 1. 20:07

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


1. ๊ธฐ๋ณธ Git ๋ช…๋ น์–ด ํ๋ฆ„๋„ 

์ด ํ๋ฆ„๋„๋Š” Git ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ค€๋‹ค:

  1. ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”: git init - ๋กœ์ปฌ์— ์ƒˆ๋กœ์šด Git ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. ์ž‘์—…ํŒŒ์ผ ์„ ํƒ: git add <ํŒŒ์ผ๋ช…> - ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์Šคํ…Œ์ด์ง• ์˜์—ญ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  3. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹: git commit -m " ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€" -  ์Šคํ…Œ์ด์ง•๋œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•œ๋‹ค.
  4. ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œ: git push origin master - ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œํ•œ๋‹ค.

 


 

2. Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต ํ๋ฆ„๋„

์‚ฌ์‹ค Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด ๋ณธ์ ์€ ์—†์—ˆ๋Š”๋ฐ, ์ตœ๊ทผ์— ์ฝ์€ " ๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๊นƒ& ๊นƒํ—ˆ๋ธŒ ์ž…๋ฌธ " ์ฑ…์„ ํ†ตํ•ด ๋”์šฑ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ• ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์€ ์ฑ… 4์žฅ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ธŒ๋žœ์น˜ ์žฅ์˜ 109 ํŽ˜์ด์ง€์— ์ž์„ธํžˆ ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค.

Git ํ”Œ๋กœ์šฐ ์ „๋žต ์˜ˆ์‹œ

"Git Flow"๋Š” ํŠนํžˆ ๋ฐฐํฌ ์ค€๋น„์— ์ค‘์ ์„ ๋‘” ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•œ ๋ธŒ๋žœ์น˜ ์ „๋žต์ด๋‹ค:

  1. ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(master): ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „์ด ์œ ์ง€๋˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋ชจ๋“  ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๊ณ  ํ…Œ์ŠคํŠธ ๋œ ํ›„ ์ด ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋œ๋‹ค.
  2. ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜(develop): git add <ํŒŒ์ผ๋ช…> - ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์Šคํ…Œ์ด์ง• ์˜์—ญ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  3. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜(feature branchs): git commit -m " ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€" -  ์Šคํ…Œ์ด์ง•๋œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•œ๋‹ค.
  4. ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜(release branches): git push origin master - ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œํ•œ๋‹ค.
  5. ํ•ซํ”ฝ์Šค ๋ธŒ๋žœ์น˜(hotfix branches): ๋ฐœํ–‰๋œ ๋ฒ„์ „์—์„œ ๋ฐœ๊ฒฌ๋œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด 'master'์—์„œ ๋ถ„๊ธฐํ•˜์—ฌ ๋งŒ๋“ ๋‹ค. ์ˆ˜์ •์ด ์™„๋ฃŒ๋˜๋ฉด 'master'์™€ 'develop'์— ๋ณ‘ํ•ฉ๋œ๋‹ค.

 

 '๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๊นƒ&๊นƒํ—ˆ๋ธŒ ์ž…๋ฌธ' ์ฑ…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.  ์•„๋ž˜ ๋งํฌ์—์„œ ๋„์„œ๋ฅผ ํ™•์ธํ•ด๋ณด์„ธ์š”!
https://product.kyobobook.co.kr/detail/S000214299095