์ด ๊ธ์ ์ฝ๋ ๋ ์๋ผ๋ฉด Git์ ์ฝ๋ ๋ฐ ๋ช ์๊ฐ์ฏค์ ๊ธฐ๊บผ์ด ํฌ์ํ ์ฌ๋์ผ ํ ๋ค. ๋ ์์ ์๊ฐ์ ์ค์ํ๊ธฐ์ ๋จผ์ ๋ช ๋ถ ๋ด๋ก ์ด ์ฑ ์ ๋ด๊ธด ๋ด์ฉ์ ๊ฐ๋จํ ์๊ฐํ๋ค. ์๋๋ ์ด ์ฑ ์ ๋ด๊ธด 10๊ฐ์ ์ฅ๊ณผ 3๊ฐ์ ๋ถ๋ก์ ๋ํด ๊ฐ๋จํ ์ ๋ฆฌํ ๋ด์ฉ์ด๋ค.
1์ฅ์์๋ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ ์ ์ธํ๊ณ ๋ฒ์ ๊ด๋ฆฌ ์์คํ (VCS)๊ณผ Git์ด๋๊ฒ ๋์ฒด ๋ฌด์์ธ์ง, Git์ ํ์ ๋ฐฐ๊ฒฝ๊ณผ, Git์ด ๋ค๋ฅธ VCS์ ๋ฌด์์ด ๋ค๋ฅธ์ง, ๋ง์ ์ฌ๋๋ค์ด ์ Git์ ์ฌ์ฉํ๋์ง ๋ํด์ ์์๋ณธ๋ค. ์ดํ Git์ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํ๋ ๊ณผ์ ์ ์์๋ณธ๋ค. ๋ฏธ๋ฆฌ Git์ด ์ค์น๋ผ ์๋ ์์คํ ๋ ์๋ค.
2์ฅ์์๋ ๊ธฐ๋ณธ์ ์ธ Git ์ฌ์ฉ๋ฒ์ ์์๋ณธ๋ค. 80% ์ฏค์ ์ด ์ฅ์์ ์ค๋ช ํ๋ ์ ๋๋ก๋ง Git์ ์ฌ์ฉํ๋ค. 2์ฅ์ ์ฝ๊ณ ๋๋ฉด ์ ์ฅ์๋ฅผ Clone ํ๊ธฐ, ํ๋ก์ ํธ ํ์คํ ๋ฆฌ๋ฅผ ์์๋ณด๊ธฐ, ํ์ผ์ ์์ ํ๊ณ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ ๋ฑ์ ํ ์ ์๋ค. ์ด ์ฅ๋ง ์ฐ์ด์ ํด๊ฐ๋ฅผ ์ฆ๊ธฐ๊ณ ๋์์๋ Git์ ์ ์ฌ์ฉํ ์ ์๋ค.
3์ฅ์์๋ Git์ ๋ธ๋์น ๋ชจ๋ธ์ ๋ํด์ ์์๋ณธ๋ค. ์ฌ๋๋ค์ ๋ธ๋์น๊ฐ Git์ ํต์ฌ ๊ธฐ๋ฅ์ด๋ผ๊ณ ๋งํ๋ค. Git ๋ธ๋์น๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋์ง ๋ฐฐ์ฐ๋ฉด ๋ค๋ฅธ VCS์ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์๊ฒ ๋๋ค. 3์ฅ์ ์ฝ๊ณ ๋๋ฉด Git์ ๋ธ๋์น ์์ด ์ด๋ป๊ฒ ์ด์์๋์ง ์์ํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
4์ฅ์์๋ ์๋ฒ ํ๊ฒฝ์์์ Git์ ๋ํด ์์๋ณธ๋ค. Git์ผ๋ก ํ์ ํ ๋ ํ์ฌ๊ฐ์ ํน์ ๋คํธ์ํฌ ์์์ ์ฌ์ฉํ Git ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ์์ ๋ง์ Git ์๋ฒ๋ฅผ ์ด์ํ๊ณ ์ ํ๋ ์ฌ๋์๊ฒ ํ์ํ ๋ด์ฉ์ด๋ค. ์ง์ Git ์๋ฒ๋ฅผ ๊ด๋ฆฌํ์ง ์๊ณ ์ฌ์ฉํ๋ ์ฌ๋ฌ ํธ์คํ ์๋น์ค๋ ์๊ฐ ํ๋ค.
5์ฅ์์๋ ๋ค์ํ ๋ถ์ฐํ๊ฒฝ์์์ ์ํฌํ๋ก์ ๋ํด ์์๋ณด๊ณ Git์ผ๋ก ์ด๋ป๊ฒ ์ํฌํ๋ก๋ฅผ ๋ฌ์ฑํ๋์ง ์์๋ณธ๋ค. 5์ฅ์ ์ฝ๊ณ ๋๋ฉด ์ฌ๋ฌ ๋ฆฌ๋ชจํธ ์ ์ฅ์๋ฅผ ๋๊ณ ์ ๋ฌธ๊ฐ์ฒ๋ผ ์์ ํ ์ ์๋ค. ์ด๋ฉ์ผ๋ก๋ Git ์์ ์ ํ ์ ์๊ณ , ๋ง์ ์์ ๋ฆฌ๋ชจํธ ๋ธ๋์น๋ ๊ธฐ์ฌ ๋ฐ์ ํจ์น๋ฅผ ๋ค๋ฃฐ ์ ์๋ค.
6์ฅ์์๋ GitHub ํธ์คํ ์๋น์ค์ GitHub์์ ์ ๊ณตํ๋ ๋๊ตฌ๋ฅผ ์์ธํ ์์๋ณธ๋ค. ๊ฐ์ ํ๊ณ ๊ณ์ ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ถํฐ Git ์ ์ฅ์๋ฅผ ์์ฑํ๊ณ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ณ ๋ฐ๋๋ก ๊ธฐ์ฌ๋ฐ๋ ์ํฌํ๋ก๋ฅผ ์ดํด๋ณธ๋ค. GitHub์ด ์ ๊ณตํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅํ ์ธํฐํ์ด์ค์ ์์๋๋ฉด ํผ๊ฐ๋๊ณ ์ด์ด๋๋ ํ๋ ์๊ฐํ๋ค.
7์ฅ์์๋ Git์ ๊ณ ๊ธ ๋ช ๋ น์ ์์๋ณธ๋ค. ๋๋ก๋ ์ํํ ์๋ ์๋ 'Reset' ๊ฐ์ ๋ช ๋ น์ ๋์ฌ๊ฐ ๋๊ณ , ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ธฐ ์ํด ์ด์ง ํ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. ํ์คํ ๋ฆฌ๋ฅผ ์์ ํ๊ธฐ๋ ํ๊ณ ํ์คํ ๋ฆฌ์์ ์ธ์ธํ๊ฒ ๋ฆฌ๋น์ ์ ์ ํํด์ ์์ ํ๋ ๋ฑ ๋ค์ํ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์์๋ณธ๋ค. 7์ฅ์ Git์ ๊ณ ๊ธ์ง๊ฒ ๊ตฌ์ฌํ๋ ๋ง์คํฐ๋ก ๋ง๋ค์ด ์ค ๊ฒ์ด๋ค.
8์ฅ์์๋ Git ํ๊ฒฝ์ค์ ์ ์ ๋ง์ ๋ง๊ฒ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. ์ฌ์ฉ์๊ฐ ์ํ๋ ์ ์ฑ ์ ๋ง๋ค์ด์ Git ํ๊ฒฝ์ ์ ์ฉ์ํฌ ์ ์๋ ํ ์คํฌ๋ฆฝํธ๋ฅผ ์ค๋ช ํ๋ค. ์ํ๋ ๋๋ก ์ปค๋ฐ ๊ท์น์ ์ธ์ฐ๊ณ ์ด๋ฅผ ๊ฐ์ ํ๋๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ์์ ๋ ์๊ฐํ๋ค.
9์ฅ์์๋ Git๊ณผ ๋ค๋ฅธ VCS๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ํ๊ฒฝ์ ๋ํด ์์๋ณธ๋ค. Subversion ํ๊ฒฝ์์ Git์ ํด๋ผ์ด์ธํธ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ ๋ค๋ฅธ VCS ํ๋ก์ ํธ๋ฅผ Git ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. ์์ง๋ ๋ง์ ๊ณณ์์ ๋ฐ๊ฟ ๊ณํ ์์ด Subversion์ ์ฌ์ฉํ๊ณ ์๋ค. 9์ฅ์ ํตํด ์ด๋ฐ Subversion ์๋ฒ๋ฅผ ์จ์ผํ๋ ํ๊ฒฝ์์๋ Git์ด ์ ๊ณตํ๋ ๋ค์ํ ์ฅ์ ์ ์ฌ์ฉํ๋ ๋ฒ์ ์๊ฒ ๋๋ค. ๋ค๋ฅธ VCS ํ๊ฒฝ์ด๋ ํ๋ก์ ํธ๋ฅผ Git์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ํฐ๋ํจ์ผ๋ก์จ ๋๋ฃ์๊ฒ Git์ด ์ ์ข์์ง ๋ฉ๋์ํค๋ ๋ฐ ๋์์ด ๋๋ค.
10์ฅ์์๋ Git ์์ผ๋ก ๊น์ํ ํ๊ณ ๋ ๋ค. Git์ด ์ค์ ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํดํ๊ณ ๋๋ฉด ์์ฃผ ์ฐ์ํ๊ณ ๊ฐ๋ ฅํ๊ฒ Git์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ์ด์ฒ๋ผ ๋ด๋ถ๋ฅผ ์ดํดํ๊ณ ๋๋ฉด ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ๋ ๊ฒ์ด ์ข์์ง ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ธ๋ก ๋ฌด์์ ์ฌ์ฉํ๋์ง Packfile์ ์ ํํ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ ์๋์ง ์๋ฒ ํ๋กํ ์ฝ์ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ์๋์ง ๋ ผํ๋ ๊ฒฝ์ง์ ์ด๋ฅด๊ฒ ๋๋ค. ์ฑ ๊ณณ๊ณณ์์ ์ด๋ค ๋ด์ฉ์ ์๊ฐํ๋ค๊ฐ ์ข ๋ ๊น์ ์ดํด๊ฐ ํ์ํ ๋ถ๋ถ์์๋ 10์ฅ์ ๋ณด๋๋ก ์๋ดํ๊ณ ์๋ค. ๋จ๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ Git์ ์๋ฐํ ๊ธฐ์ ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ์ถ๋ค๋ฉด ๋ค๋ฅธ ๋ถ๋ถ๋ณด๋ค ์ฌ๊ธฐ 10์ฅ์ ๋จผ์ ์์ด ๊ฐ ๊ฒ์ด๋ค.
๋ถ๋ก A์์๋ ๋ค์ํ ํ๊ฒฝ์์ Git์ ์ฌ์ฉํ๋ ์์ ๋ฅผ ์ดํด๋ณธ๋ค. ์ฌ๋ฌ GUI, ์ฌ๋ฌ IDE ํ๊ฒฝ์์ Git์ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ์์๋ณธ๋ค. Shell์ด๋ Visual Studio, Eclipse ๊ฐ์ ํ๊ฒฝ์์ Git์ ์ด๋ป๊ฒ ์ฐ๋์ง ํ์ด๋ณด๋ ค๋ฉด ๋ถ๋ก A๋ฅผ ๋ณด๋ฉด ๋๋ค.
๋ถ๋ก B์์๋ Git์ ์คํฌ๋ฆฝํธ๋ก ์ฌ์ฉํ๊ฑฐ๋ libgit2๋ JGit ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ธฐ๋ฅ์ ํ์ฅํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. ๋ง์ถค ๋๊ตฌ๋ฅผ ์ ์ํด์ ์ฌ์ฉ์ ํด์ผํ๋ค๊ฑฐ๋ Git์ ์ ์์ค ์ ๊ทผ์ด ํ์ํ ๊ฒฝ์ฐ ๋ถ๋ก B๋ฅผ ์ดํด๋ณด๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๊ฐ์ ์ก์ ์ ์๋ค.
๋ง์ง๋ง์ผ๋ก ๋ถ๋ก C์์๋ ์ฃผ์ Git ๋ช ๋ น์ ํ๊บผ๋ฒ์ ์ดํด๋ณด๊ณ ๊ฐ ๋ช ๋ น์ ์ด๋์ ์ค๋ช ํ๊ณ ์๋์ง ์๋ดํ๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง๋ฅผ ์๋ ค์ค๋ค. ์ด๋ค ๋ช ๋ น์ด ์ฑ ์ ์ด๋์์ ์๊ฐ๋์๊ณ ์ด๋ค ์์ ๊ฐ ์๋์ง ์ฐพ์๋ณผ ๋ ๋ถ๋ก C ๊ฐ ์ ์ฉํ๋ค.
์ ์ด์ ์์ํด๋ด ์๋ค.