ํน์ ์์ค ์ ์ด ์์คํ ์์ ๋ณํฉ ์์ฒญ(MR)์ด๋ผ๊ณ ๋ ์๋ ค์ง ํ ์์ฒญ(PR)์ ์ฝ๋๋ฒ ์ด์ค์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํ๊ณ , ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ๊ณ , ๊ถ๊ทน์ ์ผ๋ก ์ด๋ฅผ ํ๋ก์ ํธ ๋ฒ์ ์ ๊ธฐ๋ณธ ๋ถ๊ธฐ์ ๋ณํฉํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ํ๋ ๋๋ค. ์ ์ด ์์คํ . ์ด๋ฌํ ํ์ ๋ฐฉ์์ ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ, ํนํ ๋ถ์ฐ๋ ํ๊ณผ ์คํ ์์ค ํ๋ก์ ํธ์์ ํํ ๋ณผ ์ ์์ต๋๋ค.
Git ๋ฐ Mercurial๊ณผ ๊ฐ์ ๋ฒ์ ์ ์ด ์์คํ ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ํ์ ๊ณผ ์กฐ์งํ๋ฅผ ์ด์งํ๋๋ก ์ค๊ณ๋ ์์ค ์ ์ด ๊ด๋ฆฌ(SCM)์ ํ์ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ด๋ฌํ ๋๊ตฌ์ ๊ธฐ๋ณธ ์์น์ ์ฝ๋ ํ์ผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์๊ฐ์์ผ๋ก ์ถ์ ํ์ฌ ๊ฐ๋ฐ์๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ์ ๊ฒํ , ๋น๊ต ๋ฐ โโ๋๋๋ฆด ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ๋์ด์ค๊ธฐ ์์ฒญ์ ๊ธฐ์ฌ์ ๊ฐ์ ํจ๊ณผ์ ์ธ ์์ฌ์ํต์ ์ด์งํ์ฌ ๋ชจ๋ ์กฐ์ ์ฌํญ์ด ํฌ๋ช ํ๊ณ ์ดํด ๊ฐ๋ฅํ๋ฉฐ ์ฝ๋๋ฒ ์ด์ค์ ํตํฉ๋๊ธฐ ์ ์ ๋๋ฃ๊ฐ ์ ์ ํ๊ฒ ๊ฒํ ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด AppMasterno-code ํ๋ซํผ์์ ๊ณ ๊ฐ์ ์์ค ์ ์ด ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ฌ์์ฑ ํ๋ก์ธ์ค ๋๋ถ์ ์ฌ์ฉ์๋ ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ์์ง ์๊ณ ์ฒ์๋ถํฐ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. AppMaster ์ ํธ๋ฆฌํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํด ํ์ ํ๋ฉด์ ๋ค์ํ ๋ฒ์ ์ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
๋์ด์ค๊ธฐ ์์ฒญ์ ๊ฐ๋ฐ์๊ฐ ๋ฒ๊ทธ ์์ , ๊ธฐ๋ฅ ํฅ์, ์ฝ๋ ๋ฆฌํฉํฐ๋ง ๋ฑ ์์ ์ด ํ์ํ ์ฝ๋๋ฒ ์ด์ค ์์ญ์ ์๋ณํ ๋ ์์๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฒ์ ์ ์ด ์์คํ ๋ด์์ ๊ธฐ์กด ์ฝ๋์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๊ธฐ๋ณธ ๋ถ๊ธฐ์ ๋ณ๋ ๋ณต์ฌ๋ณธ ๋๋ ์ค๋ ์ท ์ญํ ์ ํ๋ ์ ๋ถ๊ธฐ๋ฅผ ๋ง๋๋ ๊ฒ๋ถํฐ ์์ํฉ๋๋ค.
์ ๋ธ๋์น์์ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ฃํ๋ฉด ๊ฐ๋ฐ์๋ ํ ์์ฒญ(Pull Request)์ ์ ์ถํ์ฌ ๋ค๋ฅธ ํ ๊ตฌ์ฑ์์ด๋ ํ๋ก์ ํธ ์ฐธ๊ฐ์์๊ฒ ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ ์ธํธ๋ฅผ ๊ฒํ ํ ์ค๋น๊ฐ ๋์์์ ์๋ฆฝ๋๋ค. ์ด ์์ฒญ์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ตฌํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๊ฐ๊ฒฐํ๋ฉด์๋ ์ ์ตํ ์ค๋ช ์ด ํฌํจ๋๋ฉฐ, ๊ฒํ ์์๊ฒ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ํน์ ๋ฌธ์ ๋ ์์ ์ค๋ช ์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ๋ ๋ง์ต๋๋ค.
Pull Request๊ฐ ์ ์ถ๋๋ฉด ๊ฒํ ํ๋ก์ธ์ค๊ฐ ์ด์ด์ง๋ฉฐ, ์ด ๊ณผ์ ์์ ๋ค๋ฅธ ํ ๊ตฌ์ฑ์์ด๋ ํ๋ก์ ํธ ์ฐธ๊ฐ์๊ฐ ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํฉ๋๋ค. ๊ฒํ ์๋ ๊ฐ์ ์ฌํญ์ ์ ์ํ๊ฑฐ๋ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์์ฒญํ๊ฑฐ๋ ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ฐ๋ ค๋ฅผ ํ๋ช ํ ์ ์์ต๋๋ค. ์์ฒญ์ ์ ์ถํ ๊ฐ๋ฐ์๋ ์ถ๊ฐ ๊ฒํ ๋ฅผ ์์ฒญํ๊ธฐ ์ ์ ํผ๋๋ฐฑ์ ์ฒ๋ฆฌํ๊ณ ํ์ํ ์กฐ์ ์ ์ํํ ์ฑ ์์ด ์์ต๋๋ค. ์ด ๋ฐ๋ณต ํ๋ก์ธ์ค๋ ํฉ์์ ๋๋ฌํ ๋๊น์ง ๊ณ์๋๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ธฐ๋ณธ ๋ถ๊ธฐ์ ํตํฉ๋๋๋ก ์น์ธ๋ฉ๋๋ค.
์น์ธ๋๋ฉด Pull Request๋ "์๋ฃ" ๋๋ "๋ณํฉ"์ผ๋ก ํ์๋์ด ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฉ์ธ ๋ธ๋์น์ ์ฑ๊ณต์ ์ผ๋ก ํตํฉ๋์์์ ๋ํ๋ ๋๋ค. ์ด ๋จ๊ณ์์ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ๋ ์ ์๋ ๋ธ๋์น์ ๋ด์ฉ์ ๊ธฐ๋ณธ ๋ธ๋์น์ ์๋์ผ๋ก ๊ฒฐํฉํ์ฌ ์ ์ฒด ๋ณ๊ฒฝ ๋ด์ญ์ ๋ณด์กดํ๊ณ ์ํํ ์ ํ์ ๋ณด์ฅํฉ๋๋ค.
๋์ด์ค๊ธฐ ์์ฒญ์ ์ํํ๊ณ ํจ์จ์ ์ด๋ฉฐ ํฌ๋ช ํ ๊ณต๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ปค๋ฎค๋์ผ์ด์ , ํ์ํฌ, ๋ชจ๋ฒ ์ฌ๋ก ์ค์๋ฅผ ์ด์งํ์ฌ ์ํํธ์จ์ด ํ๋ก์ ํธ์ ํ์ง๊ณผ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ๋์ ๋๋ค.
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ Pull Request์ ์ค์์ฑ์ ๊ณ ๋ คํ์ฌ ์ด ํ๋ก์ธ์ค๋ฅผ ์ด์งํ๊ธฐ ์ํ ๋ค์ํ ๋๊ตฌ์ ํ๋ซํผ์ด ๊ฐ๋ฐ๋์์ต๋๋ค. GitHub, GitLab, Bitbucket๊ณผ ๊ฐ์ ํ๋ซํผ์ ์๋ฆผ ์์คํ , ์ธ๋ผ์ธ ์ฝ๋ ์ฃผ์, ์ง์์ ์ธ ํตํฉ ํ์ธ ๋ฑ์ ํฌํจํ์ฌ Pull Request๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์น ๊ธฐ๋ฐ ์ธํฐํ์ด์ค์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์์ฝํ์๋ฉด, ํ ์์ฒญ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์์ค ์ ์ด ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ํ๋ก์ธ์ค์ ์ค์ํ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก๊ทธ๋๋จธ๋ ์ฒด๊ณ์ ์ด๊ณ ํฌ๋ช ํ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์, ๊ฒํ ๋ฐ ํตํฉํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋์ด์ค๊ธฐ ์์ฒญ์ ํ์ฉํ์ฌ ์ฝ๋๊ฐ ๊น๋ํ๊ณ ํจ์จ์ ์ด๋ฉฐ ์ ๋ฌธ์ํ๋์ด ์ต์ข ์ฌ์ฉ์๋ฅผ ์ํ ๋ ๋์ ํ์ง์ ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.