Git & Github
Last updated
Last updated
git์ local์์ ๊ด๋ฆฌ๋๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ฉฐ ์์ค์ฝ๋ ์์ ์ ๋ฐ๋ฅธ ๋ฒ์ ๋ํ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ ๋๊ตฌ๋ค.
git์ ํ์ ํ์ผ์ ๋ณํ๋ฅผ ๋ฌด์์ด, ์ด๋์, ๋๊ฐ, ๋ช๋ฒ, ๋ช์์ ๋ณ๊ฒฝ ๋๋์ง ๊ธฐ๋กํ๊ณ ๊ฐ์ ํ์ผ์ ๋ํ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฒ์ ์ ๋ณด๊ดํ๋ฉฐ ๋์์ ๊ฐ์ ํ์ผ์ ๊ฐ์ง๊ณ ์ฌ๋ฌ๋ช ์ด์ ์์ ๊ฐ๋ฅํ ์ฅ์ ์ด ์๋ค [1].
commitํ ํ์ผ์ ๋ฏธ๋ฆฌ ์ง์ ํด์ค์ผ ํ๋ค.
๋ฐ๋ผ์ ์๋ ์ฃผ์์ฌํญ์ ์งํค๊ธธ ๋ฐ๋๋ค.
commit์ ํ๊ธฐ ์ ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ค์ ํ๋ค.
git config user.name "sangyunlee"
git config user.email "yunpha123@gmail.com"
commit ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค. (option -m)
git commit -m "Create calculator.py and License"
commit ํ ํ์ผ์ git add๋ก ์์ฑํ๊ธฐ
git add calculator.py
git add License.txt
๊ฐ ์์ ์์ญ์ working directory, staging area, repository ์์ผ๋ก ๋์์ ์งํํ๋ค.
working directory๋ ์์ ์ ํ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋งํ๋ค. ๋ค๋ฅธ๋ง๋ก working tree๋ผ ๋ถ๋ฆฐ๋ค.
์ฒ์์ ๋ง๋ ๋ ํผ์งํ ๋ฆฌ์ด๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ฝ๋๋ฅผ ์์ ํ๋ ๊ณต๊ฐ์ ๋งํ๊ณ , .git
์ ์ ์ธํ ๋ชจ๋ ์์ญ์ ํฌํจํ๋ค .
ex) $mkdir 'oracle'
$cd oracle
2. staging area๋ ๋ค๋ฅธ๋ง๋ก index๋ก git add๋ฅผ ํ ํ์ผ๋ค์ด ์กด์ฌํ๋ ์์ญ์ด๋ค. Repository๋ก ์ ๋ณด๊ฐ ์ ์ฅ๋๊ธฐ ์ ์ค๋น ์์ญ์ผ๋ก .git/index
ํ์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
commit์ ํ๊ฒ๋๋ฉด staging area์ ์๋ ํ์ผ๋ค๋ง commit์ ๋ฐ์๋๋ค.
์๋ฅผ๋ค์ด๋ณด์ .
calculator.py์ ์ฃผ์์ ์ถ๊ฐ ํ git add calculator.py ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
git status
๋ช
๋ น์ด๋ฅผ ํตํด ๋ณด๋ฉด add ํ calculator ํ์ผ๋ง Change to committed์ ๋ณด์ด๊ณ , ์์ ํ์ง ์์ ํ์ผ์ Change not staged for comit ๋ฆฌ์คํธ ์๋ณด์ธ๋ค. ์ฆ Change to committed์๋ ์ปค๋ฐ์ ๋ฐ์๋ ๋ณ๊ฒฝ ์ฌํญ์๋ณด์ฌ์ฃผ๊ณ , Change not staged for comit ์๋ ์ปค๋ฐ์ ๋ฐ์๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์๋ณด์ฌ์ฃผ๊ณ ์๋ค.
๊ทธ๋ผ ํ์ผ๋ค์ด์ฌ๋ฌ๊ฐ ์์ ๋ ๋ ๋ฒ๊ฑฐ๋กญ๊ฒ git add ๋ช ๋ น์ด๋ก ๋ค ์ฐพ์ ํ์ดํ์ํด์ผ๋ ๊น?
git add .
์ด ๋ช ๋ น์ด๋ฅผ์ด์ฉํ๋ฉด ํ๊บผ๋ฒ์ ์ ์ฉ์ด ๋๋ค. ์ฆ ํ์ฌ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ด์์ ๋ณ๊ฒฝ์ฌํญ์ด ์ผ์ด๋ ํ์ผ๋ค์ ๋ชจ๋ staging area ์ ์ฌ๋ฆฌ๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ ํด๋น๋๋ ํ ๋ฆฌ ์์น๋ฅผ ํ์ธํ๊ณ ๋ช ๋ น์ด๋ฅผ ์ ์ฌ์ฉํ๊ธธ ๋ฐ๋๋ค.
3. repository๋ working directory์ ๋ณ๊ฒฝ ์ด๋ ฅ๋ค์ด ์ ์ฅ๋์ด ์๋ ์์ญ์ด๋ค.
commit๋ค์ด ์ ์ฅ๋๋ ์์ญ์ด๋ค. ์ฆ ํ์ผ์ด๋ ํด๋๋ฅผ ๋ณ๊ฒฝ ์ด๋ ฅ๋ณ๋ก ์ ์ฅํด๋๋ ๊ณณ์ผ๋ก .git
๋๋ ํ ๋ฆฌ ๋ด์ ์กด์ฌํ๋ค. ๋ ํผ์งํ ๋ฆฌ๋ Local, Remote Repository๋ก ๊ตฌ๋ถ๋๋ค.
์ ์ผ ๋จผ์ working directory์์ ์์ ์๊ฐ ์์ ์ ์งํ ํ๊ณ , ์์ ํ ํ์ผ๋ค์ git add ํ ํ commit์ ํ๋ฉด staging area์ ์๋ ํ์ผ๋ค์ ๋ชจ์ต์ด ๋ง์น ์ํ์ ํ ์ฅ๋ฉด, ์ค๋ ์ท(snapshot)์ฒ๋ผ ์ด repository์ ์ ์ฅ๋๋ค.
git commit -m "add title comment and Create meeting-log"
Git์์ ํ์ผ๋ค์ ํฌ๊ฒ 2๊ฐ์ง ์ํ๋ฅผ ๊ฐ์ง๋ค.
Untracked
Tracked
๊ทธ๋ฆฌ๊ณ Tracked ์ํ๋ ๋ค์ ์๋์ ๊ฐ์ด 3๊ฐ์ง ์ํ๋ก ๋๋๋ค.
Staged ์ํ
Unmodified ์ํ
Modified ์ํ
๋จผ์ Untracked๋ '์ถ์ ๋์ง ์๊ณ ์๋'์ด๋ผ๋ ๋ปํ๋ค.
์ด ์ํ๋ ํ์ผ์ด Git์ ์ํด ๋ณ๋์ฌํญ์ด ์ ํ ์ถ์ ๋๊ณ ์์ง ์๋ ์ํ๋ฅผ ๋งํ๋ค.
์๋ฅผ๋ค๋ฉด ํ์ผ์ ์๋ก ์์ฑํ๊ณ ๊ทธ ํ์ผ์ ํ ๋ฒ๋ git add
๋ก staging area ์์ฌ๋ฆฌ์ง ์์๋ค๋ฉด ์ด ์ํ๋ค.
Tracked
ํ์ผ์ด Git์ ์ํด ๊ทธ ๋ณ๋์ฌํญ์ด ์ถ์ ๋๊ณ ์๋ ์ํ๋ค.
์ด ์ํ๋ ๋ค์ ๊ทธ ํน์ฑ์ ๋ฐ๋ผ 3๊ฐ์ง ์ํ๋ก ๋๋ค.
(1) Staged
ํ์ผ์ ๋ด์ฉ์ด ์์ ๋๊ณ ๋์, staging area์ ์ฌ๋ผ์์๋ ์ํ๋ฅผ stage area์ ์ฌ๋ ค์ง ์ํ๋ค.
์๋ก ์์ฑํ ํ์ผ์ ๋ด์ฉ์ ์ฐ๊ณ git add๋ฅผ ํด์ฃผ๊ฑฐ๋ ํ ๋ฒ์ด๋ผ๋ ์ปค๋ฐ์ ํฌํจ๋์๋ ํ์ผ์ด๋ผ๋ ๋ด์ฉ์ ์์ ํ๊ณ git add๋ฅผ ํด์ฃผ๋ฉด ์ด ์ํ๋ค.
(2) Unmodified
ํ์ฌ ํ์ผ์ ๋ด์ฉ์ด ์ต์ ์ปค๋ฐ์ ๋ชจ์ต๊ณผ ๋น๊ตํ์ ๋ ์ ํ ๋ฐ๋ ๊ฒ ์๋ ์ํ๋ค. ์ฆ ์์ ๋์ง ์์ ์ํ๋ค. ์ปค๋ฐ์ ํ๊ณ ๋ ์งํ์๋ working directory ์์ ๋ชจ๋ ํ์ผ๋ค์ด ์ด ์ํ๊ฐ ๋๋ค.
(3) Modified
์ต์ ์ปค๋ฐ์ ๋ชจ์ต๊ณผ ๋น๊ตํ์ ๋ ์กฐ๊ธ์ด๋ผ๋ ๋ฐ๋ ๋ด์ฉ์ด ์๋ ์ํ๋ฉด ๊ทธ ํ์ผ์ Modified(์์ ๋) ์ํ๋ค.
์ด๋ค ๊ฒฝ์ฐ์, ์ด๋ป๊ฒ ์ํ ์ ํ์ด ๋ฐ์ํ๋์ง ์์ธํ ์ดํด๋ณด๊ฒ ๋ค.
Add the file : Untracked ์ํ์ ํ์ผ์ ์ฒ์์ผ๋ก git add ํด์ฃผ๋ฉด Staged ์ํ๊ฐ ๋ ๋ค.
Edit the file : ์ต์ ์ปค๋ฐ๊ณผ ๋น๊ตํ์ ๋ ์ฐจ์ด๊ฐ ์๋ Unmodified ์ํ์ ํ์ผ์ ๋ด์ฉ์ ์์ ํ๋ฉด Modified ์ํ๊ฐ ๋๋ค.
Stage the file: Modified ์ํ์ ํ์ผ์ git add ํด์ฃผ๋ฉด Staged ์ํ๋ค.
Remove the file : ํ์ผ์ ์ญ์ ํ Git์์ ๋์ด์ ์ธ์ํ์ง ๋ชปํ๋์ํ
Commit : ์ปค๋ฐ์ ํ๋ฉด staging area์ ์๋ ํ์ผ๋ค์ด ์ปค๋ฐ์ ๋ฐ์๋๊ณ , ์ด์ ๋ชจ๋ ํ์ผ๋ค์ ์ต์ ์ปค๋ฐ๊ณผ ์ฐจ์ด๊ฐ ์๊ฒ ๋๋ Unmodified ์ํ๊ฐ ๋๋ค.
์์ ์๊ฐ ํ์ผ์ ์์ ํ์ฌ git add๋ฅผ ํ์ฌ staging area์์ฌ๋ ธ๋๋ฐ ๋ค์ ํ์ธํด๋ณด๋ ์์ ๋ ํ์ผ์์ฝ๋๊ฐ ์๋ชป๋ฌ๋ค.
์์ง commit์ ํ์ง ์์์ผ๋ฏ๋ก git add๋ฅผ์ทจ์์ํค๋๋ช ๋ น์ด๊ฐ ์๋ค.
$ git reset 'ํ์ผ๋ช
'
$ git status
git reset์ staging area์์ ํ์ผ์ ์ ๊ฑฐํ๋๋ช ๋ น์ด๋ก ์ด ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ๋ฉด git add ๋ช ๋ น์ด staging area์ ์ฌ๋ ธ๋ ํ์ผ์ ์ทจ์ ์ํฌ ์ ์๋ค.
์ฆ ์์ ๋ ํ์ผ์ด ๋ค์ working ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ ์ํ๋ค.
๊ทธ๋ผ ์๋ชป๋ ๋ถ๋ถ๋ง ๋ค์ ์ง์ ์ด์ ์ํ์ ๋์ผํ๊ฒ ๋ง๋ ํ git ์ํ๋ฅผ ํ์ธํด ๋ณด์.
working tree๊ฐ ๊นจ๋ํ๋ค๋๋ง์ working ๋๋ ํ ๋ฆฌ๊ฐ ์ด์ ๊ณผ ๊ฐ์ ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
๋ค์๋งํด ์ด์ commit ์ดํ๋ก ๋ณ๊ฒฝ์ฌํญ์ด ์๋ค.
๋ค์์ Github์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ code ํ์ผ์ ์ ๋ก๋, ๋ค์ด๋ก๋๋ฅผ ํ ๊ฒ์ด๋ค.
๋จผ์ Github์ ๊ฐ์ ํ๋ค.
๊ทธ ๋ค์ Github์์ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
Github์์๋ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ์๊ฒฉ๋ ํผ์งํ ๋ฆฌ ํน์ ๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋งํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด์ปดํจํฐ์ ๋ง๋ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ๋ผ ํ๋ค.
๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ์กฐํ๊ธธ ๋ฐ๋๋ค.
๋ ํผ์ง ํ ๋ฆฌ๋ฅผ ์์์ฑํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ํ๋ฉด์ด๋ณด์ผ๊ฒ์ด๋ค.
์ ๊ทธ๋ฆผ์ ๋ํด ๋จผ์ ๊ฐ๋ตํ ์ค๋ช ํ๋ฉด์๋์๊ฐ๋ค.
โฆor create a new repository on the command line ๋ถ๋ถ ๋จผ์ ์ค๋ช ํ๊ฒ ๋ค.
์ด ๋ถ๋ถ์ ๋ก์ปฌ ๋ ํผ์งํ ๋ฆฌ๋ฅผ๋ง๋ค๊ณ commit์ ํ ํ ์ ๋ก๋๋ฅผํ๋ ์ค๋ช ์ด๋ค.
์๋ 'โฆor push an existing repository from the command line'์ ์ด๋ฏธ ๋ง๋ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๊นํ๋ธ์์ ๋ก๋๋ฅผ ํ๋์ค๋ช ์ด๋ค.
์5-7๋ฒ์งธ github์ฝ๋์์๋ 1-3๋ฒ์งธ์ฝ๋ ๊ฐ ๋์ผํ๊ฒ์์์ ์๋ค.
์ด์ ๋ก์ปฌ command ์ฐฝ์์ ๋ฐ๋ก ์์ ์๋ 1-3๋ฒ์งธ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
git push ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ๋ ์๋ง ๋ก๊ทธ์ธ ์ฐฝ์ด ๋ฐ ๊ฒ์ด๋ค. ๋ก๊ทธ์ธ์ ํ๋ฉด ๋ด๊ฐ ๋ง๋ค์๋ ํ์ผ์ด ์ ์ ๋ก ์ ๋ก๋๊ฐ ๋ ๊ฒ์ด๋ค.์ฑ๊ณตํ๋ค๋ฉด
์ฑ๊ณตํ๋ค๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด๋ณด์ผ ๊ฒ์ด๋ค.
์ด์ Gitpush ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด ์๋ก์ดํ์ผ์ github(๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ)์ ์ ๋ก๋ํด๋ณด๊ฒ ๋ค.
์ด๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
$git push
์ด ๋ช ๋ น์ด๋ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ(Local Repository)์ ์ต์ ๋ด์ฉ์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ(Remote Repository)์๋ ๋ฐ์ํ ๋์ฌ์ฉํ๋ค.
๊ฐ๋จํ๊ฒ README.md ํ์ผ์ Github์ ์ ๋ก๋ํด๋ณด์.
์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ก์ปฌ ๋ฉ๋ชจ๋ฅผ ๋ง๋ค๊ณ ๋ด์ฉ์ ์ ๋ ฅ ํ ์ ์ฅํ๋ค.
๋ก์ปฌ command ์ฐฝ์์ git add . ํ๋ค.
git commit
gitpush๋ฅผ ํ๋ฉด Github์ฐฝ์ ์ ๋ก๋๊ฐ ๋ ๊ฒ์ด๋ค.
gitpush๋ฅผ ํ์๋ ์ด์์๋ค๋ฉด๋ฌด์์ธ๊ฐ %๊ฐ ์ฌ๋ผ๊ฐ๋ฉด์ ์ ํ๋ฉด๋์ฒ๋ผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ์ฑ๊ณตํ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ Github๋ฅผ ์๋ก๊ณ ์นจํ๋ฉด ์ ๋ก๋๊ฐ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
GitHub ํ์ด์ง์์ ์ง์ ๋ด์ฉ์ ์์ ํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋์ด ๊ทธ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ ์ ์ปดํจํฐ๋ก ๊ฐ์ ธ๊ฐ์ ์์ ํ ๋ค์ ๋ค์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ git pushํ ๊ฒฝ์ฐ ์์ ๋ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ๋ณธ์ธ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์๋ ๋ฐ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
์ด๋ ๋ก์ปฌ๋ ํผ์ง ํ ๋ฆฌ git bash์์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
$git pull
์ด ๋ช ๋ น์ด๋ pull ์ด๋ผ๋ ๋จ์ด ๊ทธ๋๋ก ์ก์๋น๊ธฐ๋ ๊ฒ์ธ๋ฐ, ๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ ๋ด์ฉ์ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ๋ก ๋ด์ฉ์ ๋ฐ์ํ๋๊ฒ๊ณผ ๊ฐ๋ค.
์คํํ ๊ฒฐ๊ณผ๋ ์๋ ๊ทธ๋ฆผ๊ณผ๊ฐ๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ์์ ์์ ํํ์ผ์ด ๋ก์ปฌ ๋ ํผ์งํ ๋ฆฌ์์ ์ ๋๋ก ๋ฐ์๋์๋์ง ํ์ธํด๋ณด์.
๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํด๋ณด์.
$cat 'ํ์ผ๋ช
'
๋ณด์๋ค์ํผ calcuc์ฒ์์ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ์์ ๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ๋ก ์ ๋ก๋๋ฅผ ํ์๋ calculator.py์ ์ฝ๋๊ฐ multiply ํ์ ๋ง ์์๋๋ฐ, ๋ฆฌ๋ชจํธ ๋ ํผ์งํ ๋ฆฌ์์ divide ํ์ ์์ถ๊ฐ๊ณ git pull๋ก ๋ด๋ ค ๋ฐ์์ ๋ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ์ ๋ด์ฉ์ด ์ ๋ฐ์ดํธ๊ฐ ๋๊ฒ์ ์ ์ ์๋ค.
๊ทธ๋ผ ๋์ฒด ๋ฆฌ๋ชจํธ๋ ํผ์งํ ๋ฆฌ๋ฅผ์ฌ์ฉํ๋ ์ด์ ๋๋ฌด์์ผ๊น?
์์ ์ฑ: ๋ก์ปฌํ๊ฒฝ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ ์ ๋ฐฑ์ ์ฉ๋๋ก ๋ฆฌ๋ชจํธ๋ ํผ์งํ ๋ฆฌ์์ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ฉด๋๋ค.
ํ์ ๊ฐ๋ฅ: ์๋ฅผ๋ค์ด A๋ผ๋๊ฐ๋ฐ์๊ฐ code๋ฅผ์์ฑํ๊ณ GITHUB์ ์ ๋ก๋๋ฅผํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด A๊ฐ์์ฑํ ์ฝ๋๋ฅผ ๋ค์ด๋ฐ๊ณ , ๋ฌธ์ ๊ฐ ์์ ์ ์ง์ ์์ ํ์ฌ GITHUB์ ๋ค์ ์ ๋ก๋๋ฅผ ํ๋ค. ์ด๋ A๊ฐ๋ฐ์๋ ๋ค์ ๊ทธ GITHUB์ ์ฌ๋ผ์จ ์ฝ๋๋ฅผ ๋ค์ด๋ฐ์ผ๋ฉด ๋๋ค.
gitpush๋ก ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ(Local Repository)์ ์ต์ ๋ด์ฉ์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ(Remote Repository)์๋ ๋ฐ์ํ๋๋ฐ ๋ณธ์ธ ์ด์ธ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ git push๋ฅผ ํ ์ ์๊ฒ ํ๋ ค๋ฉด GitHub์์ ์ด๋ป๊ฒํด์ผ๋ ๊น?
GITHUB์ Settings์์ Manager Access๋ฅผํด๋ฆญํ๋ค์, Invite Collaborator๋ฅผ ๋๋ฅธ๋ค.
๊ทธ ๋ค์ ์ด๋ํ๊ณ ์ถ์ ๋ถ์ email ์ฃผ์๋ฅผ๋๋ฅด๋ฉด ๋๋ค.
์ด๋ ๋ฐ์ ์ฌ๋์ email๋ก ์ด๋์ฅ์ ๋ฐ์ ๊ฒ์ด๊ณ , ์๋ฝ์ ํ๋ฉด ์ด์ ์ด๋๋ฐ์์ฌ๋๋ ๊ฐ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ ์ ์ปดํจํฐ๋ก ๊ฐ์ ธ๊ฐ์ ์์ ํ ํ git push๋ฅผ ํด์ ์ด๋๋ฐ์ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ์์ ํ๊ณ ๊ณต์ ํ ์ ์๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ ํ๋ก์ ํธ๋ฅผ ๋ด ๋ก์ปฌ๋ก ๊ฐ์ ธ์ ์ฌ์ฉํ๊ณ ์ถ์๋ ์ด๋ป๊ฒ ํ ๊น?
$ gitclone '๋ค๋ฅธ์ฌ๋์์ฃผ์'
์๋ฅผ๋ค์ด numpy์ github์ ์ฌ์ฉํ๊ณ ์ ํ๋ค. ๊ทธ๋ผ numpy github์ ๋ค์ด๊ฐ์ Code๋ฒํผ์ ๋๋ฅธ๋ค.
HTTPS ์ ์ฃผ์๋ฅผ๋ณต์ฌํ๋ค
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ก์ปฌ๋ ํผ์งํ ๋ฆฌ๋ก ๋์๊ฐ gitbash์์ ๋ ํผ์งํ ๋ฆฌ๊ฐ ๊ผฌ์ด์ง ์๋๋ก ์ ๋๊ฒฝ๋ก๋ก ๊ฐ๋ค.
$cd ..
$git clone https://github.com/numpy/numpy.git
๋ค์ด์ด์๋ฃ๋๋ฉด numpy ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ค.
$ cd numpy/
$ ls -al
์ด๋ ๊ฒ ๋ค๋ฅธ์ฌ๋์ด๋ง๋ ๊นํ๋ธ ํ๋ก์ ํธ์ ๋ ํผ์ง ํ ๋ฆฌ๋ฅผ ๊ทธ๋๋ก ๋ณต์ ํด ์ฌ์ฉํ ์ ์๋ค.
[1]https://ko.wikipedia.org/wiki/%EA%B9%83_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)