์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
์คํ์์ค๊ณ์ ์์ํ ์์ด๋ ๋ฆฌ๋์ค ํ ๋ฐ์ฆ๋ ๋ฆฌ๋ ์ค ์ปค๋์ ๊ด๋ฆฌํ๋ ๊ธฐ์กด ํด์ด ์๋ง์ธ ๊ฒ์ ๋๋ฌด ๋นก์น ๋ฐ๋์ git์ด๋ผ๋ ์์ค๊ด๋ฆฌ ํด์ ๋ง๋ ๋ค. ๋ฆฌ๋์ค๋ ํ๋ ๋นก์น ๋๋จธ์ง, ๋จ 2์ฃผ๋ง์ ์์ฑํ๋ ๊ธฐ์ผ์ ํ ํ๋ค. (๊ทธ๋ฌ๊ณ ๋ ํ์ โgit ๋ง๋๋๊ฒ ์ ์ผ ์ฌ์ ์ด์โ๋ผ๋ ์ธํฐ๋ทฐ๋ก ๋์ ๊ฐ์ ๋น ๋์ด๋ฅผ ์ง๋ฆฌ๊ฒ ํ๋ค.)๏ผ์คํ์์ค์ ์น๋ฆฌ ์ค์์.
2. ์์ธ[ํธ์ง]
Git์ ๋งค์ฐ ๋น ๋ฅธ ์๋์ ๋ถ์ฐํ ์ ์ฅ์ ์ง์์ด ํน์ง์ด๋ค. ๋ฐฉ๋ํ ๋ฆฌ๋
์ค ์ปค๋ ์์ค ์ฝ๋๋ฅผ ์๊ฐํด ๋ณด๋ฉด, ์๋ ๋ฌธ์ ๋ ๋งค์ฐ ์ค์ํ๋ค. ์คํ ์์ค ๊ฐ๋ฐ์ ํน์ฑ์ ์ฌ๋ฟ์ด ๋ฌ๋ ค๋ค์ด ์๊ธฐ ๋ง์ ๋๋ ๊ฑธ ํ๊ธฐ๋ ํ๋ฉฐ, ๋ํ ๋ญ ํ๋ ์๋ชป ๋ถ์๋ค ์ด์ํ ๊ฑธ ๊ฑด๋๋ ค ๋งํ๊ธฐ ์ฌ์ด๋ฐ, Git๋ ์ด๋ฐ ํ๊ฒฝ์ ํน์ฑ์ ๋ง๊ฒ๋ ์ ๋ง๋ค์ด์ ธ ์๋ค.
Git ์์ฒด๋ ์คํ ์์ค์ด๋ฉฐ ์ ์ฅ์๋ https://github.com/git/git์ด๋ค.[1] ๋ผ์ด์ ์ค๋ GPL์ด๋ค.
Git ์์ฒด๋ ์คํ ์์ค์ด๋ฉฐ ์ ์ฅ์๋ https://github.com/git/git์ด๋ค.[1] ๋ผ์ด์ ์ค๋ GPL์ด๋ค.
2.1. ๊ฐ๋ฐ ๋นํ[ํธ์ง]
๋ฆฌ๋์ค ํ ๋ฅด๋ฐ์ค๋ ์ด๊ธฐ์ ๋ฆฌ๋
์ค ์ปค๋ ์์ค ์ฝ๋๋ฅผ ๊ด๋ฆฌํ ๋ SVN(Subversion)์ด๋ CVS(Concurrent Versions System) ๊ฐ์ ๊ธฐ์กด์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ ์์ ์ฌ์ฉํ์ง ์์๋ค. ์ฌ์ฉํ์ง ์์ ์ด์ ๋ ๊ธฐ๋ฅ์ด ๋ง์์ ๋ค์ง ์์๋ค๋๊ฒ ์ ์ค์ด๋ฉฐ, ์๋ง์ ์ฌ๋๋ค์ด ๋ณด๋ด์ค๋ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ๋ก ๋ค๋ฅธ ๊ฐ๋ฐ์์ ๊ธฐ์ฌ ๋ด์ฉ์ ๊ด๋ฆฌํ๊ณ ์์๋ค. ๊ทธ๋ฌ๋ค๊ฐ, ๊ทธ๋ ๊ฒฐ๊ตญ ๋ฒํธ ์ ์์๋์ง ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋๋ฐ, ๊ทธ๊ฐ ์ ํํ ๊ฒ์ BitKeeper[2]๋ผ๋ ํ๋ก๊ทธ๋จ์ด์๋ค. BitKeeper๋ ์์ฉ S/W์์ง๋ง, ๋ถ์ฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ๊ณผ ๋น๊ต์ ๋น ๋ฅธ ์ฑ๋ฅ ๋๋ถ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ํ ๋ฅด๋ฐ์ค์ ์ด๋ฐ ์ ํ์ ์์ ์ํํธ์จ์ด ์ง์์ผ๋ก๋ถํฐ ์งํ์ ๋ฐ์์ผ๋ ์์ ์ํํธ์จ์ด ์ง์์์๋ ๋ง๋
ํ ๋์์ ์ ์ํ์ง๋ ๋ชปํ๋ค.
๊ทธ๋ฌ๋ค๊ฐ, BitKeeper ์ชฝ์์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ๋ฌธ์ ๋ก ์ผ๋ถ ๋ฆฌ๋ ์ค ๊ฐ๋ฐ์๋ค์ ์ ํํ๋ ์ผ์ด ๋ฐ์ํ๋ค. ๊ทธ๋ฐ ์ผ์ด ๋ฐ์ํ์, ํ ๋ฅด๋ฐ์ค๋ BitKeeper๋ฅผ ๊ณ์ ์ธ์ง ์๋๋ฉด ๋ค๋ฅธ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํด์ผ ํ๋๋ฐ, ํ ๋ฅด๋ฐ์ค์ ์ ํ์ ์ 3์ ๊ธธ์ด์๋ค. ๊ทธ๋ฅ ์์ ์ด ์ง์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ , ๊ทธ๋ ๊ฒ ๋๋ฑ๋๋ฑ ์ง์ ๋ง๋ ๊ฒ ๋ฐ๋ก Git์ด์๋ค. ์ฐธ๊ณ ๋ก, ์๋ฌธ์ ์ํ๋ฉด 2์ฃผ๋ง์ ์์ฑํ๋ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ ์ค ์ปค๋ ์์ค๋ฅผ Git์ ์ด์ฉํด์ ๊ด๋ฆฌํ๊ธฐ ์์ํ๋ค. ์ด ๋๋ฌธ์ ํฝ๋นํ BitKeeper๋ ์ ๋ฃ ์ ์ฑ ๋ ํฌ๊ธฐํ๊ณ ๋ฌด๋ฃ๋ก ํ์์ผ๋ฉฐ ์ฌ์ง์ด ์ํ์น ๋ผ์ด์ ์ค๋ก ์์ค๊น์ง ๊ณต๊ฐํ ์ํ์ด์ง๋ง, ๋์ธ๋ฅผ ๊ฑฐ์ค๋ฅผ ์ ์์๋ค. ํ์ฌ๋ Git์ด SVN, Mercurial, CVS ๋ฑ ์ฌํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ๋ค์ ํฐ ๊ฒฉ์ฐจ๋ก ๋๋ฅด๊ณ ์๋์ ์ธ ์ ์ ์จ์ ์ฐจ์งํ๊ณ ์๋ค. #
์ค๋ น ํ ๋ฅด๋ฐ์ค๊ฐ ๋ฆฌ๋ ์ค๋ฅผ ๊ฐ๋ฐํ์ง ์์๋๋ผ๋, Git์ ๊ฐ๋ฐํจ์ผ๋ก ์ธํด์ ์กด๊ฒฝ์ ๋ฐ์์์ง ๋ชจ๋ฅธ๋ค. 2010๋ ์ดํ๋ก ํ ๋ฅด๋ฐ์ค๋ ๋ ์ด์ ๋ฉ์ธ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ก ํ๋ํ์ง ์๊ณ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋๊ธด ์ํ. ํ์ฌ gitster์ peff ๋ฑ์ด ๋ฉ์ธ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ก ํ๋ํ๊ณ ์๋ค.
์คํ ์์ค๊ฐ ๊ธฐ์กด์ ์น์ดํ๊ฒ ๊ฒฝ์ํ๋ ์์ฉ ์ํํธ์จ์ด ์ ์ฒด๋ค์ ๋ฌด์ํ๊ณ ์์ฅ๊ฒฝ์ ๋ฅผ ๋ง๊ฐ๋จ๋ฆฌ๋ ๊ณต์ฐ์ฃผ์๋ผ๊ณ ๊น๋ ๋ง์ดํฌ๋ก์ํํธ๋ ๊ฒฐ๊ตญ ๊ทธ ์์ ๋ค๋ Git์ ์ ์จ๋จน๋ค ๋ชปํด ์์ ๋ํ์ ์ธ ์ ์ฅ์์ธ GitHub๋ฅผ ์ธ์ํด๋ฒ๋ ธ๊ณ , ๊ตฌ๊ธ, ํธ์ํฐ, ๋ชจ์ง๋ผ ์ฌ๋จ ๋ฑ์์๋ Git์ ์ ์จ๋จน๊ณ ์๋ค. ๊ตญ๋ด์์ ์ ๋ช ํ ํ์ผ ์์คํ ๊ธฐ๋ฐ PHP ์ํค์์ง์ธ ๋ชจ๋์ํค๋ Git์ผ๋ก ๊ด๋ฆฌ๋๊ณ ์๋ค. ์๋์ฐ์ ๊ฒฝ์ฐ 2020๋ ๊ธฐ์ค์ผ๋ก 90%๊น์ง Git ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์๋๋ฐ, ํ๋ฃจ 8500๊ฑด์ ์ปค๋ฐ๊ณผ ๋๋ถ์ด 1760๋ฒ์ ๋น๋๋ฅผ ๊ฑฐ์น๋ค๊ณ ํ๋ค.
๊ทธ๋ฌ๋ค๊ฐ, BitKeeper ์ชฝ์์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ๋ฌธ์ ๋ก ์ผ๋ถ ๋ฆฌ๋ ์ค ๊ฐ๋ฐ์๋ค์ ์ ํํ๋ ์ผ์ด ๋ฐ์ํ๋ค. ๊ทธ๋ฐ ์ผ์ด ๋ฐ์ํ์, ํ ๋ฅด๋ฐ์ค๋ BitKeeper๋ฅผ ๊ณ์ ์ธ์ง ์๋๋ฉด ๋ค๋ฅธ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํด์ผ ํ๋๋ฐ, ํ ๋ฅด๋ฐ์ค์ ์ ํ์ ์ 3์ ๊ธธ์ด์๋ค. ๊ทธ๋ฅ ์์ ์ด ์ง์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ , ๊ทธ๋ ๊ฒ ๋๋ฑ๋๋ฑ ์ง์ ๋ง๋ ๊ฒ ๋ฐ๋ก Git์ด์๋ค. ์ฐธ๊ณ ๋ก, ์๋ฌธ์ ์ํ๋ฉด 2์ฃผ๋ง์ ์์ฑํ๋ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ ์ค ์ปค๋ ์์ค๋ฅผ Git์ ์ด์ฉํด์ ๊ด๋ฆฌํ๊ธฐ ์์ํ๋ค. ์ด ๋๋ฌธ์ ํฝ๋นํ BitKeeper๋ ์ ๋ฃ ์ ์ฑ ๋ ํฌ๊ธฐํ๊ณ ๋ฌด๋ฃ๋ก ํ์์ผ๋ฉฐ ์ฌ์ง์ด ์ํ์น ๋ผ์ด์ ์ค๋ก ์์ค๊น์ง ๊ณต๊ฐํ ์ํ์ด์ง๋ง, ๋์ธ๋ฅผ ๊ฑฐ์ค๋ฅผ ์ ์์๋ค. ํ์ฌ๋ Git์ด SVN, Mercurial, CVS ๋ฑ ์ฌํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ๋ค์ ํฐ ๊ฒฉ์ฐจ๋ก ๋๋ฅด๊ณ ์๋์ ์ธ ์ ์ ์จ์ ์ฐจ์งํ๊ณ ์๋ค. #
์ค๋ น ํ ๋ฅด๋ฐ์ค๊ฐ ๋ฆฌ๋ ์ค๋ฅผ ๊ฐ๋ฐํ์ง ์์๋๋ผ๋, Git์ ๊ฐ๋ฐํจ์ผ๋ก ์ธํด์ ์กด๊ฒฝ์ ๋ฐ์์์ง ๋ชจ๋ฅธ๋ค. 2010๋ ์ดํ๋ก ํ ๋ฅด๋ฐ์ค๋ ๋ ์ด์ ๋ฉ์ธ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ก ํ๋ํ์ง ์๊ณ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋๊ธด ์ํ. ํ์ฌ gitster์ peff ๋ฑ์ด ๋ฉ์ธ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ก ํ๋ํ๊ณ ์๋ค.
์คํ ์์ค๊ฐ ๊ธฐ์กด์ ์น์ดํ๊ฒ ๊ฒฝ์ํ๋ ์์ฉ ์ํํธ์จ์ด ์ ์ฒด๋ค์ ๋ฌด์ํ๊ณ ์์ฅ๊ฒฝ์ ๋ฅผ ๋ง๊ฐ๋จ๋ฆฌ๋ ๊ณต์ฐ์ฃผ์๋ผ๊ณ ๊น๋ ๋ง์ดํฌ๋ก์ํํธ๋ ๊ฒฐ๊ตญ ๊ทธ ์์ ๋ค๋ Git์ ์ ์จ๋จน๋ค ๋ชปํด ์์ ๋ํ์ ์ธ ์ ์ฅ์์ธ GitHub๋ฅผ ์ธ์ํด๋ฒ๋ ธ๊ณ , ๊ตฌ๊ธ, ํธ์ํฐ, ๋ชจ์ง๋ผ ์ฌ๋จ ๋ฑ์์๋ Git์ ์ ์จ๋จน๊ณ ์๋ค. ๊ตญ๋ด์์ ์ ๋ช ํ ํ์ผ ์์คํ ๊ธฐ๋ฐ PHP ์ํค์์ง์ธ ๋ชจ๋์ํค๋ Git์ผ๋ก ๊ด๋ฆฌ๋๊ณ ์๋ค. ์๋์ฐ์ ๊ฒฝ์ฐ 2020๋ ๊ธฐ์ค์ผ๋ก 90%๊น์ง Git ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์๋๋ฐ, ํ๋ฃจ 8500๊ฑด์ ์ปค๋ฐ๊ณผ ๋๋ถ์ด 1760๋ฒ์ ๋น๋๋ฅผ ๊ฑฐ์น๋ค๊ณ ํ๋ค.
3. ๊ตฌ์กฐ[ํธ์ง]
Git๋ ๋ค์๊ณผ ๊ฐ์ ์ฒด์ ๋ฅผ ๊ฐ๊ณ ์๋ค. ์ผ๋จ Git์ ์์
ํด๋๋ ์ ์ฒด ๊ธฐ๋ก๊ณผ ๊ฐ ๊ธฐ๋ก์ ์ถ์ ํ ์ ์๋ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ ์ ์ฅ์์ด๋ค. ์ฆ ์๊ธฐ ์ปดํจํฐ์ ๋ชจ๋ ํ์ผ์ ๋ค ๋ฐ์์ ํ๋ ์
. ์ํค๋ก ์น์๋ฉด ์ํค ์ ์ฒด๋ฅผ ๋ค ๋ฐ์์ ์์ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.[3]
์์ ์ด ๋๋๋ฉด Git ์๊ฒฉ ์ ์ฅ์๋ก ๋ค์ ๋ฐํํ๋๋ฐ, ์ฌ๊ธฐ์์ ๋ฉ์ธ ์ ์ฅ์์ ํฉ์น๊ธฐ ์ ๋ฉ์ธ ์ ์ฅ์์ ๊ฒฉ๋ฆฌ์ํค๊ณ ๋ฐ๋ก ๊ฐ๋ฐ ํ ์ ์๋ ๊ฐ์ง๋ผ๋๊ฑธ ๋ง๋ค์ด ๊ฐ์ง์ ๊ฐ๋ฐ์ด ์๋ฃ๋ ์ ๋ฉ์ธ ์ ์ฅ์์ ํฉ์น๊ณ ๊ฐ์ง๋ ์ญ์ ์ํค๋ ๊ฐ์ง์น๊ธฐ๋ฅผ ํ ์ ์์ผ๋ฉฐ, ๋ํ ๊ฐ๋ฐ ์ค๊ฐ์ค๊ฐ ๊ผฌ๋ฆฌํ๋ฅผ ๋งค๊ฒจ ๊ฐ๋ฐ์ ๋ ์์ํ๊ฒ ํ ์ ์๋ค.
์์ ์ด ๋๋๋ฉด Git ์๊ฒฉ ์ ์ฅ์๋ก ๋ค์ ๋ฐํํ๋๋ฐ, ์ฌ๊ธฐ์์ ๋ฉ์ธ ์ ์ฅ์์ ํฉ์น๊ธฐ ์ ๋ฉ์ธ ์ ์ฅ์์ ๊ฒฉ๋ฆฌ์ํค๊ณ ๋ฐ๋ก ๊ฐ๋ฐ ํ ์ ์๋ ๊ฐ์ง๋ผ๋๊ฑธ ๋ง๋ค์ด ๊ฐ์ง์ ๊ฐ๋ฐ์ด ์๋ฃ๋ ์ ๋ฉ์ธ ์ ์ฅ์์ ํฉ์น๊ณ ๊ฐ์ง๋ ์ญ์ ์ํค๋ ๊ฐ์ง์น๊ธฐ๋ฅผ ํ ์ ์์ผ๋ฉฐ, ๋ํ ๊ฐ๋ฐ ์ค๊ฐ์ค๊ฐ ๊ผฌ๋ฆฌํ๋ฅผ ๋งค๊ฒจ ๊ฐ๋ฐ์ ๋ ์์ํ๊ฒ ํ ์ ์๋ค.
4. ์ฅ๋จ์ [ํธ์ง]
4.1. ์ฅ์ [ํธ์ง]
- ์คํ๋ผ์ธ ์์ ์ด ๊ฐ๋ฅํ๋ค. TFS ๋ฑ์ ๊ธฐ์กด ์ค์์ง์คํ ํ์๊ด๋ฆฌ ํด์ ์คํ๋ผ์ธ ์์ ์ ์์ ์ง์ํ์ง ์๊ฑฐ๋, ๋งค์ฐ ์ ํ์ ์ผ๋ก๋ง ์ง์ํ์๋ค. ๋ณธ์ธ์ด ํน์ ํ์ผ์ ์ฒดํฌ์์ํ๋ค๋ ์ฌ์ค์ด ์ค์๊ฐ์ผ๋ก ์๋ฒ์ ๋๋ฌ๋์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์จ๋ผ์ธ ์ํ์์ ์ฒดํฌ์์ํ ํ์ผ์ ์คํ๋ผ์ธ ์ํ์์๋ ๊ณ์ ์์ ํ ์ ์๋ ๊ฒฝ์ฐ๋ ์์ผ๋, ์ด ๊ฒฝ์ฐ์๋ ์ถ๊ฐ์ ์ธ ํ์๊ด๋ฆฌ๊ฐ ์๋๋ค. git๋ ์ ์ฅ์๋ฅผ ์ผ๋จ ๋ก์ปฌ์ ๋ณต์ ํ๊ณ , ๋ก์ปฌ ์ ์ฅ์์ ์๋ ํ์คํ ๋ฆฌ๋ ๊ทธ๋๋ก ์ ์ง๋๋ฏ๋ก, ์๋ฒ์์ ์ ์๋ฃ๋ฅผ ๋ฐ์์ฌ ์ ์์ ๋ฟ์ด์ง ์ด์ธ์๋ ์คํ๋ผ์ธ ์ํ์์๋ ๋๋ถ๋ถ์ ํ์๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๋ค. ์ผ์ข ์ ๋ก์ปฌ ์๋ฒ๋ก ์์ฉํ๋ ์ .
- ์๋๊ฐ ๋น ๋ฅด๋ค. ๊ฐ๊ฐ์ ๊ฐ๋ฐ์๋ค์ด ๋ชจ๋ ๋ถ์ฐ์ฒ๋ฆฌ ์๋ฒ์ ์ฃผ์ธ์ด ๋๋ ์ ์ด๋ฏ๋ก ์๋ฒ๊ฐ ์ง์ ํด์ผ ๋ ์ผ๋ค์ด ๋ง์ด ์ค์ด๋ ๋ค.
- ์ผ์์ ์ธ ์๋ฒ ์ฅ์ ๊ฐ ์์ด๋ ๊ฐ๋ฐ์ ๊ณ์ํ ์ ์๋ค. ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ด์ฉํ๋ฉด ๋๊ธฐ ๋๋ฌธ.
- ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ฟ์ธ ๊ธฐ์กด ํ์๊ด๋ฆฌ์ ๋นํด ๋ถ์ฐ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ ์ฐํ๊ฒ ์ธ์ธ ์ ์๋ค. ์ค๊ฐ ์๋ฒ๋ฅผ ๋๋ค๋ ์ง, ๋ถ์๋ณ๋ก ๋ฐ๋ก ์๋ฒ๋ฅผ ๋๋ค๋ ์ง ํ๋ ๊ตฌ์ฑ์ด ์์ ๋กญ๊ฒ ๊ฐ๋ฅ.
- ๊ฐ์ง์น๊ธฐ(branch)๊ฐ ๋น๊ต์ ๊ฐ๋ณ๋ค. ๊ฐ์ง์น๊ธฐ ์์ฒด๋ฅผ git์ ์ฅ์ ์ผ๋ก ๊ผฝ๊ธฐ๋ ํ์ง๋ง ์ด๋ ํ์กดํ๋ ๋๋ถ๋ถ์ ํ์๊ด๋ฆฌ ๋๊ตฌ๊ฐ ์ง์ํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ค์ง์ ์ธ ์ฐจ์ด๋ ๊ทธ ๊ตฌํ ๋ฐฉ๋ฒ์ ์๋ค๊ณ ๋ด์ผ ํ๋ค. git๋ ๋ธ๋์นญ์ด ๋งค์ฐ ์ฝ๊ณ ๊ฐ๋ฒผ์ ์ํ๋ ๋งํผ ๋ณ ์ ์ฝ ์์ด ์์ฑํ๊ณ ์ญ์ ํ ์๊ฐ ์๋ค. git๋ง ์ฌ์ฉํด์ค๋ ์ฌ๋์ ๋น์ฐํ๊ฒ ๋๊ปด์ง ๊ฒ์ด๊ณ ์ด๊ฒ ์ ์ฅ์ ์ธ์ง์กฐ์ฐจ ๋ชจ๋ฅผ ์ ์๊ฒ ์ง๋ง, ๊ธฐ์กด ํ์๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ๋ธ๋์นญ ํ๋ ํ๋ ค๊ณ ์ ์๊ฐ์ ๋ฏธํ ์ ํด์ผ ํ๋ ๋๋ ์์๋ค.
- ๋ณํฉ(merge)์์ ๋ฌธ์ ๊ฐ ๋ ๋ฐ์ํ๋ค. ์๋ฒ์ ์๋ฃ๋ฅผ ๊ฐ์ ธ์(fetch) ๋ก์ปฌ์์ ๋ณํฉํ๊ณ ์ด๋ฅผ ๋ค์ ์ฌ๋ฆฌ๋ ํํ์ด๊ธฐ ๋๋ฌธ. ๋ฌผ๋ก ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ ์๋ ์์ผ๋, ์ด๋ฌํ ๊ตฌ์กฐ ๋๋ถ์ ์๊ธฐ์น ๋ชปํ๊ฒ ๋ฐ์ํ๋ ๋ณํฉ ๋ฌธ์ ๋ฐ์ ๋น๋๊ฐ ๋ฎ์์ง๋ค.
- ์คํ ์ด์ง์ ์ง์ํ๋ค. ๋จ์ํ ์ปค๋ฐ๋์ง ์์ ๋ก์ปฌ ๋ณ๋์ฌํญ์ ์๊ธฐํ๋ ๊ฒ์ด ์๋๊ณ , ์์ ์ปค๋ฐํ๊ธฐ ์ ์ ์ฌ์ฉํด์ผ ํ๋ ์คํ ์ด์ง ๋จ๊ณ๊ฐ ๋ฐ๋ก ์๋ค. ๋ฌผ๋ก ์ด๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ค๋ฅธ ํ์๊ด๋ฆฌ ๋๊ตฌ์ฒ๋ผ ๋ฐ๋ก ์ปค๋ฐํ๋ ์์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค.
- ์ง์ ํธ์คํ ์ ํ ๊ฒฝ์ฐ ์์ ์ฉ ์ฉ๋๋ก๋ ๋ฌด๋ฃ๋ก ์ด์ฉ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
4.2. ๋จ์ [ํธ์ง]
- ๊ธฐ์กด ํ์๊ด๋ฆฌ ๋๊ตฌ์ ๋นํด ๋ ์ง๊ด์ ์ด๊ณ ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต๋ค. ํนํ ์ค์ ์ง์คํ ํ์๊ด๋ฆฌ ๋๊ตฌ์ ์ต์ํ ์ฌ๋์ผ์๋ก ๊ท์ฐฎ๊ณ ์ด๋ ค์์ง๋๋ฐ, ์ฉ์ด๋ ์ปจ์ ํธ๋ ์ฒ๋ฆฌ๊ณผ์ ๋ ์ ํ ๋ค๋ฅด๊ธฐ ๋๋ฌธ. ์ฒดํฌ์์ ํ ํ์ผ์ ์์ ํ๊ณ ๋ค์ ์ปค๋ฐํ๊ธฐ๋ง ํ๋ฉด ๋๋ ์ค์์ง์คํ ๋๊ตฌ์ ๋นํด git๋ ์ปค๋ฐ, ํธ์, ํ, ๋จธ์ง, ํ์น ๋ฑ ์๋ง์ ์ฉ์ด๋ค์ด ์กด์ฌํ๋ฉฐ ๊ธฐ์กด์ ์ง์์ด ์ด ์๋ก์ด ์ปจ์ ํธ๋ฅผ ์ด์ฉํ๋ ๋ฐ์ ํฌ๊ฒ ๋ฐฉํด๊ฐ ๋๋ค. ๋ํ ์ฒ์ ๋ฐฐ์ฐ๋ ๊ฒฝ์ฐ ์ด๋๊น์ง๊ฐ ์๋ฒ์ ์ํฅ์ ๋ฏธ์น๋ ํ์์ด๊ณ ์ด๋๊น์ง๊ฐ ๋ก์ปฌ์์ ์์ ํ๊ฒ ํ ์ ์๋ ์ผ์ธ์ง ๋ช ํํ๊ฒ ์ดํดํ๊ธฐ๊ฐ ์ด๋ ค์ ๋ช ๋ น์ด ํ๋ํ๋์ ๋ฒ๋ฒ ๋จ๊ฒ ๋๋ค. ์๋ฒ์ ์๋ ์๋ฃ์ ๋ก์ปฌ์ ์๋ฃ๋ฅผ ๋น๊ตํ์ฌ ์ปค๋ฐ ํ์ ๋ฌด์จ ๋ณํ๊ฐ ์ผ์ด๋๋์ง ๋ฏธ๋ฆฌ ๋ช ํํ๊ฒ ์ ์ ์๋ ๊ธฐ์กด ํ์๊ด๋ฆฌ์ ๋นํ๋ฉด ํ์คํ ๋ ์ง๊ด์ ์ด๋ค. ํ ๋ฒ ์ต์ํด์ง๋ฉด ๋ณ ๊ฒ ์๋๊ธฐ๋ ํ์ง๋ง, ๋ฐ๋ก ์ด ๋ฌธ์ ๋๋ฌธ์ ๊ธฐ์กด ํ์๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๋ง๋ค.
- ํ ๋ฒ์ ์ฌ๋ฌ ๋ธ๋์น๋ ์ฌ๋ฌ ํ๊ทธ์ ๊ฑธ์ณ์ ์ปค๋ฐ์ ํ ์ ์๋ค. ๋ด๊ฐ ๋ง๋ ์ฌ์ํ ๋ณ๋์ฌํญ์ด ๋ค๋ฅธ ๋ธ๋์น์ ์๋์ ์ผ๋ก ์๋ ค์ง์ง ์๊ณ , ๋์ค์ ์ทจํฉํ๋ ์์ ์ด ๋ผ์์ผ ๋ฐ์๋๋ค.
- ํ๋์ ์ ์ฅ์๊ฐ ํ๋์ ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ์๋ฏธํ๋ ๊ฒ์ผ๋ก ๊ฐ์ ๋์ด ์์ด ์ผ๋ถ๋ง ๋ธ๋์นญ์ ํ๋ค๋ ์ง ํด๋ก ์ ํ๋ค๋ ์ง ํ๋ ์ผ์ ํ ์ ์๋ค. ์ ์ฑ ์ ์ธ ๋ถ๋ถ์ด๋ผ ๊ด์ ์ ๋ฐ๋ผ ์ฅ์ ์ด ๋ ์๋ ์๊ฒ ์ง๋ง, ํด๋น ๊ธฐ๋ฅ์ด ๊ผญ ํ์ํ ์ฌ๋์ด๋ผ๋ฉด ๋จ์ ์ด ๋ ์ ์๋ค.
- push๋ฅผ ํ๋ค ํด์ ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์์ํ ์์ ํ๊ฒ ์ ์ฅ๋๋ค๊ณ ์ฅ๋ดํ ์ ์๋ค. ์ค์ ์ง์คํ ํ์๊ด๋ฆฌ์์๋ ์ผ๋จ ์ฒดํฌ์ธ์ ํ๊ณ ๋๋ฉด ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋ ํ์๋ ํญ์ ์์ ํ๊ณ ์ธ์ ๋ ๊ณผ๊ฑฐ ๊ธฐ๋ก์ ๋ณผ ์ ์์ผ๋, git์์๋ push๋ฅผ ํ ๋ด์ฉ์ด๋ผ ํ๋๋ผ๋ ํด๋น ๋ธ๋์น๊ฐ ๋ค๋ฅธ ๋ธ๋์น์ ๋ณํฉ๋๊ธฐ ์ ์ ์ญ์ ๋ผ๋ฒ๋ฆฌ๋ฉด ๋์ค์ ํด๋น ๋ด์ฉ์ ์ ๊ทผํ ์ ์๋ค.
- ์ปค๋ฐ ID๊ฐ ๊ธด 16์ง์ ์ซ์(SHA-1 ํด์๊ฐ)๋ผ ๊ธฐ์ตํ๊ธฐ๊ฐ ์ด๋ ต๊ณ ํญ์ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํด์ผ ํ๋ค. ๋ฑํ ํฐ ๋ฌธ์ ๋ ์๋์ง๋ง ๋จ์ํ 10์ง์ ์ซ์๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ TFS ๋ฑ์ ๋นํด ๋ณต์กํ ๊ฒ์ ์ฌ์ค.
- ์ญ์ ์์ํ์ง๋ง ์ ์ฒด๋ฅผ ๋ฐ์์ ์์ ํด์ผ ๋๋ค๋ ๋ถ๋ถ๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ๋จ์ ์ด ๋ ์๋ ์๋ค. ๋ก์ปฌ ์ ์ฅ์ ์ฌ์ด์ฆ๊ฐ ๊ทธ๋ฆฌ ํฌ์ง ์๋ค์ง๋ง, ๊ธฐ์กด ํ์๊ด๋ฆฌ ํด์ด ์ํ๋ ํ์ผ ํ๋๋ง ๋๋ ๋ฐ์์ ์์ ํ๊ณ ์ฒดํฌ์ธํ ์๋ ์๋ ๊ฒ์ ๋นํด์๋ ์๋ฆฌ๋ฅผ ๋ ์ฐจ์งํ๋ ๊ฒ์ด ๋ง๋ค.
5. ์๋ฒ ํธ์คํ ๋ฐ ์ ์ฅ์[ํธ์ง]
5.1. ์๋น์ค์ Git ์ ์ฅ์[ํธ์ง]
- GitHub: git์ด ์ ๋ช ํด์ง๋ฉด์ ์์ ์ํํธ์จ์ด์ ์ฑ์ง๋ก ๋ ์ฌ๋๋ค. GitHub์ ๋ํ ์์ธํ ์ฌํญ์ ํด๋น ํญ๋ชฉ ์ฐธ์กฐ.
- Bitbucket: Github์ ๋น๊ณต๊ฐ ํ๋ก์ ํธ ๊ธฐ๋ฅ์ด ์ ๋ฃ์์ ์์ ์๋ "๋น๊ณต๊ฐ ํ๋ก์ ํธ๊ฐ ํ์ํ๋ฐ ์ ๋ฃ๋ผ ์ฐ๊ธฐ ์ ๋งคํ๋ค + ํ์์ด ๋ช ๋ช ์๋๋ค" ๊ฐ์ ์ํฉ์ด๋ผ๋ฉด ๊ด์ฐฎ์ ๋์์ด ๋ ์ ์์๋ค.[4] Confluence, JIRA ๋ฑ์ผ๋ก ์ ๋ช ํ Atlassian์ ์๋น์ค๋ก 5๋ช [5] ์ดํ๊ฐ ์ฐธ์ฌํ๋ ํ๋ก์ ํธ๋ผ๋ฉด ๋น๊ณต๊ฐ ํ๋ก์ ํธ๋ ๋ฌด๋ฃ๋ก ์์ฑ ๊ฐ๋ฅํ๋ค.
- GitLab - ์ธ์์์ ๊ด๊ณ ์์ด ๋ฌด์ ํ์ผ๋ก ๋ฌด๋ฃ ๋น๊ณต๊ฐ ํ๋ก์ ํธ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
- Azure DevOps (Visual Studio Online) - ์ ์ฅ์๋ฅผ ๋ง๋ค ๋ ๊ธฐ์กด TFS ๋ฐฉ์๊ณผ git ์ค์์ ์ ํํ ์ ์๋ค.
5.2. ์์ฒด ํธ์คํ [ํธ์ง]
์ธ๋ถ์์ ์ ๊ณต๋๋ ์๋น์ค ํํ๊ฐ ์๋, ์ค์นํ Git ์๋ฒ๋ ๋ฆฌ๋
์ค ์๋ฒ๋ผ๋ฉด ๋ณ๋ค๋ฅธ ์ถ๊ฐ ํ๋ก๊ทธ๋จ ์์ด ๋ฆฌ๋
์ค์ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ(SSH ๋ฑ)๊ณผ ๋ฐฐํฌ๋ณธ์ ๋ค์ด์๋ ํจํค์ง ๋ง์ผ๋ก๋ ์๋ฒ๋ฅผ ๊ตฌ๋ํ ์ ์๋ค. ์ ๋์ค ๊ณ์ด ์๋ฒ์์๋ ์์ฝ๊ฒ ์ค์ ํ ์ ์๋ค.
์๋๋ผ๋ฉด ๋ง์ดํฌ๋ก์ํํธ์ Azure DevOps(๊ตฌ Team Foundation Server)๋ฅผ ํตํด Git ์๋ฒ๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ์๋ฒ ์์ฒด์์ ๊ธฐ์กด TFS์ git ๋ฐฉ์์ ๋์์ ์ง์ํ๋ค. ๋ค๋ง MS์์ ์ ๊ณตํ๋ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ซ๋ค๋ฉด ๊ฐ๋จํ ๋์์ด ์์๋๋ฐ, GitBucket์ด๋ผ๋ JVM ๊ธฐ๋ฐ์ Scala๋ก GitHub๋ฅผ ํ๋ด๋ด์ด ์์ฑ๋ ์คํ์์ค ํ๋ก๊ทธ๋จ์ด ๋ฑ์ฅํ๋ค. JVM ๊ตฌ๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ๋จน๋ ๋จ์ ์ ์ ์ธํ๋ฉด HTTP๋ ๋ฌผ๋ก SSH์ ๋ฉ์ผ ์๋ฆผ ๊ฐ์ ์ฌ๋ฌ ์๋ฒ ๊ธฐ๋ฅ์ ์์ฒด์ ์ผ๋ก ์ง์ํ๋ฉฐ, GitHub์ ์๋นํ ๋ง์ ๊ธฐ๋ฅ์ ๋งค์ฐ ๋น์ทํ๊ฒ ๊ตฌํํด ๋์๊ธฐ ๋๋ฌธ์ GitHub์ ์ฐ๋ ์ฌ๋์ด๋ผ๋ฉด ๊ฑฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๊ณ , ๊ทธ๋ ์ง ์๋๋ผ๋ GitHub์ฒ๋ผ ๋งค์ฐ ์ฝ๊ฒ ์ธ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์๋๋ผ๋ฉด ๋ง์ดํฌ๋ก์ํํธ์ Azure DevOps(๊ตฌ Team Foundation Server)๋ฅผ ํตํด Git ์๋ฒ๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ์๋ฒ ์์ฒด์์ ๊ธฐ์กด TFS์ git ๋ฐฉ์์ ๋์์ ์ง์ํ๋ค. ๋ค๋ง MS์์ ์ ๊ณตํ๋ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ซ๋ค๋ฉด ๊ฐ๋จํ ๋์์ด ์์๋๋ฐ, GitBucket์ด๋ผ๋ JVM ๊ธฐ๋ฐ์ Scala๋ก GitHub๋ฅผ ํ๋ด๋ด์ด ์์ฑ๋ ์คํ์์ค ํ๋ก๊ทธ๋จ์ด ๋ฑ์ฅํ๋ค. JVM ๊ตฌ๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ๋จน๋ ๋จ์ ์ ์ ์ธํ๋ฉด HTTP๋ ๋ฌผ๋ก SSH์ ๋ฉ์ผ ์๋ฆผ ๊ฐ์ ์ฌ๋ฌ ์๋ฒ ๊ธฐ๋ฅ์ ์์ฒด์ ์ผ๋ก ์ง์ํ๋ฉฐ, GitHub์ ์๋นํ ๋ง์ ๊ธฐ๋ฅ์ ๋งค์ฐ ๋น์ทํ๊ฒ ๊ตฌํํด ๋์๊ธฐ ๋๋ฌธ์ GitHub์ ์ฐ๋ ์ฌ๋์ด๋ผ๋ฉด ๊ฑฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๊ณ , ๊ทธ๋ ์ง ์๋๋ผ๋ GitHub์ฒ๋ผ ๋งค์ฐ ์ฝ๊ฒ ์ธ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
6. ํด๋ผ์ด์ธํธ[ํธ์ง]
์ผ๋จ ์ปค๋งจ๋ ํ๋กฌํํธ ๋ฐฉ์ Git์ ์๋์ฐ, macOS, ๋ฆฌ๋
์ค๋ฅผ ์ ๋ถ ์ง์ํ๋ค. ๊ณต์ ์ฌ์ดํธ์์ ๋ด๋ ค๋ฐ์ ์ ์๋ค. ์ผ๋ถ GUI ํด๋ค์ ๋ด๋ถ์ ์ผ๋ก ์ปค๋งจ๋๋ผ์ธ ํด์ ํธ์ถํ๊ฒ ๋์ด์๊ธฐ๋ ํ๋ค.
Git ์์ฒด์๋ gitk๊ณผ git-gui๋ผ๋ GUI ํด์ ๊ธฐ๋ณธ ์ ๊ณตํ๊ณ ์์ผ๋, ํ๋กฌํฌํธ์์ ๋ช ๋ น์ด๋ฅผ ์ณ์ผ ์คํ ๊ฐ๋ฅํ๊ณ ๊ธฐ๋ฅ์ด ํ์ ์ ์ด๋ผ ์๋์ ์ํํธ์จ์ด๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
์๋์ฐ/๋งฅ ์ง์์ SourceTree, ๋ฆฌ๋ ์ค ์ง์์ SmartGit์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๋ํ ๋์์ธ๊ณผ ๊ธฐ๋ฅ ๋ฉด์์ ์ข์ ํ๊ฐ๋ฅผ ๋ฐ๋ GitKraken๊ณผ GitHub์์ ์ง์ ๋ด๋์ GitHub Desktop๋ ์๋ค. ์๋์ฐ ์ ์ฉ์ผ๋ก๋ SubVersion ์์ ๋ถํฐ ์ ๋ช ํ๋ TortoiseGit๊ฐ ์๋๋ฐ, ์๋์ฐ ํ์๊ธฐ์ ์ฐ๋๋๋ ๋ฐฉ์์ด๋ผ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ , SubVersion ์์ ์ ๋ง์ด ์ฐ์๋ TortoiseSVN๊ณผ ์ฌ์ฉ๋ฒ์ด ๊ฑฐ์ ๊ฐ๊ธฐ ๋๋ฌธ์ SubVersion ์ฐ๋ ์ฌ๋๋ค์ด ๋์ด์ค๊ธฐ ์ข๋ค.
๋น์ฃผ์ผ ์คํ๋์ค๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์ด๋ผ๋ฉด gitํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋ด์ฅ๋ ์์ฒด git GUI๊ฐ ๋ํ๋๋ฏ๋ก ์ด๊ฑธ ์ฌ์ฉํด๋ ์๊ด์๋ค. ๋ฌผ๋ก SourceTree ๊ฐ์ ์ธ๋ถ ํด์ ๊ทธ๋๋ก ์ฌ์ฉํด๋ ๋๋ค. ๋ฉ๋ด์์ ์ฐพ์ ๋ค์ด๊ฐ๋ ค๋ฉด ๋ณด๊ธฐ(V)->ํ ํ์๊ธฐ(M) ๋จ์ถํค๋ Ctrl+\, Ctrl+M[6] ํ๋ก์ ํธ ์์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ๋ ๊ฐ๋ฅ.
Git ์์ฒด์๋ gitk๊ณผ git-gui๋ผ๋ GUI ํด์ ๊ธฐ๋ณธ ์ ๊ณตํ๊ณ ์์ผ๋, ํ๋กฌํฌํธ์์ ๋ช ๋ น์ด๋ฅผ ์ณ์ผ ์คํ ๊ฐ๋ฅํ๊ณ ๊ธฐ๋ฅ์ด ํ์ ์ ์ด๋ผ ์๋์ ์ํํธ์จ์ด๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
์๋์ฐ/๋งฅ ์ง์์ SourceTree, ๋ฆฌ๋ ์ค ์ง์์ SmartGit์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๋ํ ๋์์ธ๊ณผ ๊ธฐ๋ฅ ๋ฉด์์ ์ข์ ํ๊ฐ๋ฅผ ๋ฐ๋ GitKraken๊ณผ GitHub์์ ์ง์ ๋ด๋์ GitHub Desktop๋ ์๋ค. ์๋์ฐ ์ ์ฉ์ผ๋ก๋ SubVersion ์์ ๋ถํฐ ์ ๋ช ํ๋ TortoiseGit๊ฐ ์๋๋ฐ, ์๋์ฐ ํ์๊ธฐ์ ์ฐ๋๋๋ ๋ฐฉ์์ด๋ผ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ , SubVersion ์์ ์ ๋ง์ด ์ฐ์๋ TortoiseSVN๊ณผ ์ฌ์ฉ๋ฒ์ด ๊ฑฐ์ ๊ฐ๊ธฐ ๋๋ฌธ์ SubVersion ์ฐ๋ ์ฌ๋๋ค์ด ๋์ด์ค๊ธฐ ์ข๋ค.
๋น์ฃผ์ผ ์คํ๋์ค๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์ด๋ผ๋ฉด gitํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋ด์ฅ๋ ์์ฒด git GUI๊ฐ ๋ํ๋๋ฏ๋ก ์ด๊ฑธ ์ฌ์ฉํด๋ ์๊ด์๋ค. ๋ฌผ๋ก SourceTree ๊ฐ์ ์ธ๋ถ ํด์ ๊ทธ๋๋ก ์ฌ์ฉํด๋ ๋๋ค. ๋ฉ๋ด์์ ์ฐพ์ ๋ค์ด๊ฐ๋ ค๋ฉด ๋ณด๊ธฐ(V)->ํ ํ์๊ธฐ(M) ๋จ์ถํค๋ Ctrl+\, Ctrl+M[6] ํ๋ก์ ํธ ์์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ๋ ๊ฐ๋ฅ.
7. Git ์ฌ์ฉ๋ฒ ๋ฐฐ์ฐ๊ธฐ[ํธ์ง]
์ธํฐ๋ท์ ๊ณต๊ฐ๋ ์๋ฃ๊ฐ ๋งค์ฐ ๋ง๋ค.
- progit - GitHub์ CIO๊ฐ ์ง์ ์ด ์ฑ ์ ๋ฒ์ญํ ์๋ฃ.
- git ๊ธฐ์ด ๊ฐ๋ ๊ณผ ์ ์ฉํ tool๋ค(bat, git-fuzzy, git-delta)
8. ๊ธฐํ[ํธ์ง]
- ๋ฆฌ๋์ค ํ ๋ฅด๋ฐ์ค๋ ๋ค๋ฅธ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ธ Subversion์ ์์ฃผ ์ซ์ดํ์ฌ, ๋๋๊ณ ๊น๋ค. ๊ตฌ๊ธ์์ ํ Git ๊ฐ์ฐ
- Windows์ฉ Git์ ๊ธฐ๋ณธ ์ค์น ๊ฒฝ๋ก๊ฐ
C:\Program Files๋ด๋ถ์ธ๋ฐ, ํด๋๋ชProgram Files์๋ ๊ณต๋ฐฑ์ด ํฌํจ๋์ด ์์ด Git Bash ์ฌ์ฉ ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ค์นํ ๋ ์ด๋ฆ์ ๊ณต๋ฐฑ์ด ํฌํจ๋ ํด๋๊ฐ ์๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด ์ฃผ์.
- Git์ ํ์ผ์ด๋ ์ปค๋ฐ ๋ฑ ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ SHA-1์ผ๋ก ํด์ํ ์๋ณ์๋ฅผ ํตํด ๊ด๋ฆฌํ๋ค. ๊ทธ๋ฐ๋ฐ, SHA-1์ ์ถฉ๋ ์ํ์ฑ์ ๋์ด, 2017๋ ์ ๊ตฌ๊ธ์ ์ํด์ SHA-1 ์ ์ฒด์ ํด์ ์ถฉ๋์ด ๋ฐํ์ก๊ธฐ์ ๋ ์ด์ ์์ ํ์ง ์๊ณ , ๊ตฌ๊ธ๋ Git์ ์ด ์ํ์ฑ์ ์ ๋ฌํ์๋ค. ์ด์ ํ ๋ฅด๋ฐ์ค๋ "Git์ ๋ฐ์ดํฐ๋ฅผ ํด์ํ๊ธฐ๋ง ํ๋ ๊ฒ ์๋๋ผ, ๊ฑฐ๊ธฐ์ ํ์ ๊ณผ ๊ธธ์ด ํ๋๋ฅผ ์ธก๋ํ๋ค"๋ฉฐ ๋์ํ์ง ์์๋ค. #
[1] ๋ํ ํ๋ก์ ํธ๋ต์ง ์๊ฒ README๊ฐ ํ์ ์ค๋ฝ๊ณ ์์ค ์ฝ๋๋ ํด๋๋ก ๋ถ๋ฅ๋์ง ์๊ณ ๋์กํ๋ค. ํ๋ก์ ํธ ์ต์๋จ์ ํ์๋ ๋๋ก ๋ฐฐํฌ ์ ์ฉ ๋ ํฌ์งํ ๋ฆฌ๋ผ ๊ทธ๋ฐ ๋ฏ ํ๋ค.
[2] ์ฌ์ดํธ๋ www.bitkeeper.org์ด๋ค. ์ถ์ฒ
[3] Git์ด ์๋๋๋ผ๋ DVCS(๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
)์ ํด๋นํ๋ Mercurial์ด๋ Bazaar๋ ํด๋นํ๋ ์ฌํญ์ด๋ค.
[4] GitHub๋ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ธ์ํ ๋ค๋ก๋ ํ์์ด 3๋ช
์ดํ์ธ ๋น๊ณต๊ฐ ํ๋ก์ ํธ๋ฅผ ๋ฌด๋ฃ๋ก ์์ฑํ ์ ์๋๋ก ์ ์ฑ
์ ๋ณ๊ฒฝํด์ ๋จ์ํ ๋น๊ณต๊ฐ ํ๋ก์ ํธ๊ฐ ํ์ํ ์ํฉ์์๋ ๊ตณ์ด ์ฌ์ฉํ ํ์๋ ์์ด์ก๋ค.
[5] ๋ฉ์ผ๋ก ํ์์ ์ด๋ํ๋ฉด 8๋ช
๊น์ง ๊ฐ๋ฅ.
[6] Ctrl ํค๋ฅผ ๋๋ฅธ ์ฑ๋ก \๊ณผ, M์ ์์๋๋ก ๋๋ฅด๋ฉด ๋๋ค.