ํŠน์ • ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ์—์„œ ๋ณ‘ํ•ฉ ์š”์ฒญ(MR)์ด๋ผ๊ณ ๋„ ์•Œ๋ ค์ง„ ํ’€ ์š”์ฒญ(PR)์€ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜๊ณ , ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ณ , ๊ถ๊ทน์ ์œผ๋กœ ์ด๋ฅผ ํ”„๋กœ์ ํŠธ ๋ฒ„์ „์˜ ๊ธฐ๋ณธ ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ œ์–ด ์‹œ์Šคํ…œ. ์ด๋Ÿฌํ•œ ํ˜‘์—… ๋ฐฉ์‹์€ ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ˆ˜๋ช… ์ฃผ๊ธฐ, ํŠนํžˆ ๋ถ„์‚ฐ๋œ ํŒ€๊ณผ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์˜ˆ๋ฅผ ๋“ค์–ด AppMasterno-code ํ”Œ๋žซํผ์—์„œ ๊ณ ๊ฐ์€ ์†Œ์Šค ์ œ์–ด ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์‚ฌ์šฉํ•˜๋ฉด ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์žฌ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค ๋•๋ถ„์— ์‚ฌ์šฉ์ž๋Š” ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋ฅผ ์Œ“์ง€ ์•Š๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹ ์†ํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์˜ ํŽธ๋ฆฌํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์›น, ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•ด ํ˜‘์—…ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ๋ฒ„์ „์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ƒˆ ๋ธŒ๋žœ์น˜์—์„œ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์™„๋ฃŒํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ํ’€ ์š”์ฒญ(Pull Request)์„ ์ œ์ถœํ•˜์—ฌ ๋‹ค๋ฅธ ํŒ€ ๊ตฌ์„ฑ์›์ด๋‚˜ ํ”„๋กœ์ ํŠธ ์ฐธ๊ฐ€์ž์—๊ฒŒ ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์„ธํŠธ๋ฅผ ๊ฒ€ํ† ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ์š”์ฒญ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌํ˜„๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๋ฉด์„œ๋„ ์œ ์ตํ•œ ์„ค๋ช…์ด ํฌํ•จ๋˜๋ฉฐ, ๊ฒ€ํ† ์ž์—๊ฒŒ ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ๋ฌธ์ œ๋‚˜ ์ž‘์—… ์„ค๋ช…์„ ์ฐธ์กฐํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์Šต๋‹ˆ๋‹ค.

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

์Šน์ธ๋˜๋ฉด Pull Request๋Š” "์™„๋ฃŒ" ๋˜๋Š” "๋ณ‘ํ•ฉ"์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ์„ฑ๊ณต์ ์œผ๋กœ ํ†ตํ•ฉ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ๋Š” ์ œ์•ˆ๋œ ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์™€ ์ž๋™์œผ๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ์ „์ฒด ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ๋ณด์กดํ•˜๊ณ  ์›ํ™œํ•œ ์ „ํ™˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

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

ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ Pull Request์˜ ์ค‘์š”์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด‰์ง„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ํ”Œ๋žซํผ์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GitHub, GitLab, Bitbucket๊ณผ ๊ฐ™์€ ํ”Œ๋žซํผ์€ ์•Œ๋ฆผ ์‹œ์Šคํ…œ, ์ธ๋ผ์ธ ์ฝ”๋“œ ์ฃผ์„, ์ง€์†์ ์ธ ํ†ตํ•ฉ ํ™•์ธ ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ Pull Request๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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