CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

์†Œ๊ฐœ

Git์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์˜ ์‚ฌ์‹ค์ƒ ์—…๊ณ„ ํ‘œ์ค€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € Git์ด ๋ฌด์—‡ ์ด๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ์— ๋Œ€ํ•œ ๋‚ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์ฝ์—ˆ์Šต๋‹ˆ๊นŒ? ์ข‹์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 1์ข‹๋“  ์‹ซ๋“  Linus Tovalds๊ฐ€ ๋งŒ๋“  ์ด ๋„๊ตฌ๋Š” ์€ํ‡ดํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ„์‚ฐ๋œ ํŒ€์ด Git์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ด๋ฅผ ์œ„ํ•ด ์–ด๋–ค ๋ถ„๊ธฐ ์ „๋žต์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ์ด์น˜์— ๋งž์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด์ „์— ํ•จ๊ป˜ ์ผํ•œ ์ ์ด ์—†๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํŒ€์„ ๊ตฌ์„ฑํ•  ๋•Œ ๋ถ„๊ธฐ ์ „๋žต์€ ์ข…์ข… ๊ฐ€์žฅ ๋จผ์ € ๊ฒฐ์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ ํ•œ ์ „๋žต์ด ๋‹ค๋ฅธ ์ „๋žต๋ณด๋‹ค ๋‚ซ๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ž…์— ๊ฑฐํ’ˆ์„ ๋ฌผ๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๊ทธ๋“ค์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ •๋ณด๋ฅผ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ถ„๊ธฐ ์ „๋žต์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋“ค์€ ์ฐธ์œผ๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์ด ๋ฌด์–ธ๊ฐ€์— ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ ํŒ€์›์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์–ด๋–ค ๋ถ€์„œ์—์„œ ์ผํ•˜๋“ 
  • ์ž„์˜์˜ ๋‹ค๋ฅธ ๋ถ„๊ธฐ๋กœ ๋ณ‘ํ•ฉ
  • ์ผ๋ถ€ ๋ถ„๊ธฐ ์‚ญ์ œ
  • ์ƒˆ๋กœ์šด ๊ฒƒ ๋งŒ๋“ค๊ธฐ
  • ๋”ฐ๋ผ์„œ ๊ฐ ํŒ€ ๊ตฌ์„ฑ์›์€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ํ๋ฆ„์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์„ธ ๊ฐ€์ง€ ์ „๋žต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ‘์‹œ๋‹ค!

GitHub ํ๋ฆ„

ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 2์ด์ƒํ•˜๊ฒŒ๋„ ์ด ๋ถ„๊ธฐ ์ „๋žต์€ GitHub์—์„œ ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค :) ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™ ์„ธํŠธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค .
  1. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์˜ ์ฝ”๋“œ๋Š” ์†์ƒ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ธ์ œ๋“ ์ง€ ๋ฐฐํฌํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์„œ๋ฒ„์— ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉํ•ดํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ฑฐ๊ธฐ์— ๋‘์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์—…์„ ๊ณ„ํšํ•  ๋•Œ ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ ์ฝ”๋“œ๋ฅผ ์ปค๋ฐ‹ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋™์ผํ•œ ๋ถ„๊ธฐ์— ์ •๊ธฐ์ ์œผ๋กœ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž‘์—…์ด ์ค€๋น„๋˜์—ˆ๊ณ  ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋  ๋•Œ(๋˜๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์™„๋ฃŒ๋œ ์ž‘์—…์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ) ํ’€ ์š”์ฒญ์„ ์—ฝ๋‹ˆ๋‹ค( ์—ฌ๊ธฐ์—์„œ ํ’€ ์š”์ฒญ์— ๋Œ€ํ•ด ์ฝ์„ ์ˆ˜ ์žˆ์Œ ) .
  4. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ์ƒˆ ๊ธฐ๋Šฅ์ด ์Šน์ธ๋˜๋ฉด ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉ๋˜๋ฉด ์ฆ‰์‹œ ์„œ๋ฒ„์— ๋ฐฐํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
GitHub Flow์— ๋”ฐ๋ฅด๋ฉด ์ˆ˜์ • ์‚ฌํ•ญ์ด๋“  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด๋“  ์ƒˆ๋กœ์šด ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋งˆ์Šคํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์ ์ ˆํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๊ตฌํ˜„ ์ž‘์—…์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์›๊ฒฉ ์„œ๋ฒ„์— ์ปค๋ฐ‹์„ ์ง€์†์ ์œผ๋กœ ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ค€๋น„๋˜์—ˆ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฌ๋ฉด ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ "์Šน์ธ"์„ ํด๋ฆญํ•˜๊ธฐ ์ „์— ์ ์–ด๋„ ํ•œ ๋ช… ๋˜๋Š” ๋” ๋‚˜์€ ๋‘ ์‚ฌ๋žŒ์ด ์ด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ ํŒ€์žฅ๊ณผ ๋‘ ๋ฒˆ์งธ ์‚ฌ๋žŒ์ด ๋ฐ˜๋“œ์‹œ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ’€ ์š”์ฒญ์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Flow๋Š” ํ”„๋กœ์ ํŠธ์—์„œ CD(Continuous Delivery)๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋„ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•˜๋ฉด ์ฆ‰์‹œ ์„œ๋ฒ„์— ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

GitFlow

ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 3์ด์ „ ์ „๋žต(GitHub Flow)์€ ํ•ต์‹ฌ์ ์œผ๋กœ ๊ทธ๋‹ค์ง€ ๋ณต์žกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„๊ธฐ์—๋Š” ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ์™€ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ์˜ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ GitFlow๋Š” ๋” ์‹ฌ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ์œ„์˜ ๊ทธ๋ฆผ์€ ๊ทธ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ๋ณด์—ฌ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค :) ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ์ „๋žต์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ์š”? ์ผ๋ฐ˜์ ์œผ๋กœ GitFlow๋Š” ๋‘ ๊ฐœ์˜ ์˜๊ตฌ ๋ถ„๊ธฐ์™€ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ์ž„์‹œ ๋ถ„๊ธฐ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. GitHub Flow์˜ ๋งฅ๋ฝ์—์„œ ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ๋Š” ์˜๊ตฌ์ ์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ž„์‹œ์ ์ž…๋‹ˆ๋‹ค. ์˜๊ตฌ ๋ถ„๊ธฐ
  • ๋งˆ์Šคํ„ฐ: ์•„๋ฌด๋„ ์ด ๋‚˜๋ญ‡๊ฐ€์ง€๋ฅผ ๋งŒ์ง€๊ฑฐ๋‚˜ ๋ฐ€์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด ์ „๋žต์—์„œ ๋งˆ์Šคํ„ฐ๋Š” ํ”„๋กœ๋•์…˜(์ฆ‰, ์‹ค์ œ ์„œ๋ฒ„)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœ: ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜. ๋ถˆ์•ˆ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์€ 3๊ฐœ์˜ ๋ณด์กฐ ์ž„์‹œ ๋ถ„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค .
  1. ๊ธฐ๋Šฅ ๋ถ„๊ธฐ โ€” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  2. ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜ โ€” ์ƒˆ ๋ฒ„์ „์˜ ํ”„๋กœ์ ํŠธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  3. ํ•ซํ”ฝ์Šค ๋ถ„๊ธฐ โ€” ์‹ค์ œ ์„œ๋ฒ„์—์„œ ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋ฒ„๊ทธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๋ถ„๊ธฐ

๊ธฐ๋Šฅ ๋ถ„๊ธฐ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์™„๋ฃŒํ•œ ํ›„์—๋Š” ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ๋Œ€๊ทœ๋ชจ ํŒ€์€ ํ•œ ๋ฒˆ์— ๋‘˜ ์ด์ƒ์˜ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitFlow ์ „๋žต ์„ค๋ช…์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์žˆ๋Š” ๊ทธ๋ฆผ์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.

๋ฆด๋ฆฌ์ฆˆ ๋ธŒ๋žœ์น˜

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

ํ•ซํ”ฝ์Šค ๋ถ„๊ธฐ

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

ํฌํฌ ์ž‘์—… ํ๋ฆ„

ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 4๋ถ„๊ธฐ ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ๊ฐœ๋ฐœ์—๋Š” ๋‘ ๊ฐœ์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  1. ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ณ‘ํ•ฉ๋  ์›๋ž˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  2. ํฌํฌ ์ €์žฅ์†Œ. ์ด๊ฒƒ์€ ์›๋ณธ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œ์œ ํ•œ ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ณต์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค.
์ง€๊ธˆ๊นŒ์ง€ ์กฐ๊ธˆ ์ด์ƒํ•˜๊ฒŒ ๋“ค๋ฆฌ๋‚˜์š”? ์ด๋ฏธ ์˜คํ”ˆ ์†Œ์Šค ๊ฐœ๋ฐœ์„ ๊ฒฝํ—˜ํ•œ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์— ์ด๋ฏธ ์ต์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ „๋žต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์€ ์›๋ž˜ ๋ธŒ๋žœ์น˜์—์„œ ๊ณต๋™ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š๊ณ  ํฌํฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์›๋ž˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์†Œ์œ ์ž๋Š” ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฑฐ๋ถ€ํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ˆ˜๋ฝํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์›๋ž˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์†Œ์œ ์ž์™€ ์ œํ’ˆ ์ƒ์„ฑ์„ ๋•๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ์ž ๋ชจ๋‘์—๊ฒŒ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Linux ์ปค๋„ ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . Linus๊ฐ€ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค(!!!).

๋ถ„๊ธฐ ์ž‘์—… ํ๋ฆ„์˜ ์˜ˆ

Forking ์›Œํฌํ”Œ๋กœ๋Š” ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ GitHub์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์™„์ „ํžˆ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด ํ•ด๊ฒฐ์ฑ…์„ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ํฌํฌ ์›Œํฌํ”Œ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์›๋ž˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ ์—†์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๋ ค๋ฉด Spring Framework ์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ์— ์žˆ๋Š” "ํฌํฌ" ๋ฒ„ํŠผ์„ ์ฐพ์•„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 5์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ณต์‚ฌ๋ณธ์ด ๊ฐœ์ธ ๊ณ„์ •์— ๋‚˜ํƒ€๋‚˜ ํฌํฌ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 6์ด์ œ ํ‰์†Œ์ฒ˜๋Ÿผ ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ค€๋น„๋˜๋ฉด ์›๋ž˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด New pull request ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.ํ˜ผ๋™ ์—†๋Š” ํŒ€์›Œํฌ: Git์˜ ๋ถ„๊ธฐ ์ „๋žต ์ดํ•ด - 7

์„ ํƒํ•  ์ „๋žต

Git์€ ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค์™€ ์ „๋žต์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„ ํƒ์ง€๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์–ด๋–ค ์ „๋žต์„ ์„ ํƒํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋‹จ์ผํ•œ ๋‹ต์ด ์—†๋‹ค๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์€ ์ƒํ™ฉ์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ด์— ๋„์›€์ด ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ง€์นจ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ „๋žต์„ ๋จผ์ € ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•  ๋•Œ๋งŒ ๋” ๋ณต์žกํ•œ ์ „๋žต์œผ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.
  2. ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•ด ๋ถ„๊ธฐ ์œ ํ˜•์ด ๊ฐ€๋Šฅํ•œ ํ•œ ์ ์€ ์ „๋žต์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.
  3. ๋‹ค์–‘ํ•œ ์ „๋žต์˜ ์žฅ๋‹จ์ ์„ ์‚ดํŽด๋ณธ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ์ „๋žต์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.
์ด๊ฒƒ์ด ์ œ๊ฐ€ Git์˜ ๋ถ„๊ธฐ ์ „๋žต์— ๋Œ€ํ•ด ๋งํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :) GitHub ์—์„œ ์ €๋ฅผ ํŒ”๋กœ์šฐํ•˜์„ธ์š” . ์ œ๊ฐ€ ์ž‘์—…์— ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ๋ฐ ๋„๊ตฌ์™€ ๊ด€๋ จ๋œ ์ฐฝ์ž‘๋ฌผ์„ ์ž์ฃผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION