๊ฐ ๋ฒ์ ๋ณ๋ก
๋ณ๊ฒฝ๋ ์ด๋ ฅ
์ ์ ์ฅํ๋ ์์ ์ด๋ค.
ํ๋ํ๋ ์ถ๊ฐ๋๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ ์ด๋ ฅ
์ ์ ์ฅํด ๋ ์ ์๋ ๊ฒ์ด๋ค.
๋ณ๊ฒฝ ์ด๋ ฅ์ ์ ์ฅํด ๋๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ๋๋์๊ฐ์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ์ด์ ์ ๋ณ๊ฒฝ ์ด๋ ฅ๋ค์ด
๊ธฐ๋ก๋์ด ์์ผ๋ ๋๋์๊ฐ๋ ๊ฒ์ด ์ฉ์ดํ๋ค.
ํ์์ฑ
: ์์ฑํ ๋ด์ฉ์ ๋ณด์กด
ํด์ผ ํ ํ์์ฑ ๋๋ฌธ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ด ํ์ํ๋ค๊ณ ํ๋ค.
Git
์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ค ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋๊ตฌ์ด๋ค.
Git์
์์ค ์ฝ๋ ๊ธฐ๋ก
์๊ด๋ฆฌ
ํ๊ณ์ถ์
ํ ์ ์๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ค.
๊ฐ๋ฐ์์ ์ฝ๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์ ๊ฐ๋ฐ๋
๋ถ์ฐํ
๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ค.
๊ฐ์ธ
์ Github๋ฅผ ํตํด ์์ ํ์ผ์ ์ฌ๋ ค๋๋ฉด๋ฐฑ์ ๊ธฐ๋ฅ
์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
Git์์๋ ์ ๊ทธ๋ฆผ์ฒ๋ผ ํ๋ํ๋ ๋ ์ง๋ณ๋ก ์ด๋ค ํ์ผ์ด ๋ฐ๋์๋์ง ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
์ด๋ฅผ ์ค๋
์ท
์ด๋ผ๊ณ ํ๊ณ , ์ค๋
์ท์ ๋ง๋ค์ด์ฃผ๋ ์์
์ commit
์ด๋ผ๊ณ ํ๋ค.
Github๋ Git Repository๋ฅผ ๊ด๋ฆฌํ ์ ์๋
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค
์ด๋ค.
๊ฐ๊ฐ์ธ์ด ์์ ํ Git ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ Github๋ฅผ ํตํด ์ฌ๋ฌ ์ฌ๋๋ค๊ณผ
๊ณต์
ํ๊ณ์ ๊ทผ
ํ ์ ์๋ค.
Github
์์ Code Review ๋ฑ์ ํตํด ํ์
์ด ๊ฐ๋ฅํ๊ณ , ์๋ง์ ์คํ ์์ค ํ๋ก์ ํธ๋ค์ด GitHub๋ก๋ถํฐ ํธ์คํ
๋๊ณ ์์ด์, ๋๊ตฌ๋ ์์ ๋กญ๊ฒ ๊ธฐ์ฌ
ํ ์ ์๋ค.
Folk
: ๋ค๋ฅธ ์ฌ๋์ ์๊ฒฉ ์ ์ฅ์(Remote Repository)๋ฅผ ๋ด ์๊ฒฉ ์ ์ฅ์(Remote Repository)๋ก ๊ฐ์ง๊ณ ์ค๋ ์์
Clone
: ์ฝ๋ ์์ ์ ์ํด์ ๋ด ์ปดํจํฐ(Local Repository)๋ก ๊ฐ์ ธ์ค๋ ์์
Push
: ๋ณ๊ฒฝ๋ ๋ด์ฉ์ commit์ ํตํด ์ ์ฅํด ์ค ๋ค, ์๊ฒฉ์ ์ฅ์(Remote Repository)์ ์ฌ๋ ค์ฃผ๋ ์์
Pull
: ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋ด ์ปดํจํฐ(Local Repository)๋ก ๊ฐ์ ธ์ค๋ ์์
๋ด๊ฐ ์์ ํ๋ ์์ค ์ฝ๋ ํด๋๊ฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ฐ๊ฒ ํ๊ธฐ ์ํด์๋ ๋ด ํด๋๋ฅผ Git์ ๊ด๋ฆฌ ์๋์ ๋์ด์ผ ํ๋๋ฐ,
Git์ผ๋ก ๊ด๋ฆฌ๋๋ ํด๋
๋ฅผGit repository
๋ผ๊ณ ํ๋ค.
Git repository ๋
Remote Repository(๊ณต์ )
์Local Repository๊ฐ์ธ์ ํ๋๋์คํฌ)
๋ก ๋๋๋ค.
Local Repository
์์ ํ ์ ์๊ณ Remote Repository
์ ์
๋ก๋ํด ์ฌ๋ฌ ์ฌ๋์ด ํจ๊ป ๊ณต์ ํ ์ ์๋ค. ๋ค๋ฅธ ์ฌ๋์ด Remote Repository์ ์ฌ๋ ค๋์ ์์ค ์ฝ๋๋ฅผ ๋ด Local Repository ๋ก ๊ฐ์ง๊ณ ์ฌ ์๋ ์๋ค.
git init ( git ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ง๋ค๊ธฐ )
๋ด๊ฐ ์์ ํ๊ณ ์ ํ๋ ํด๋
๋ฅผGit ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ
๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ช ๋ น์ด์ด๋ค.
๋ด๊ฐ ์์ ํ๊ณ ์ ํ๋ ํด๋์์git init
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
git add ( staging area์ ์ถ๊ฐ )
์ด์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ ๋ด ํ์ผ ๋ณ๊ฒฝ์ฌํญ์ git์ผ๋ก ๊ด๋ฆฌํด๋ณด์.
staging area
์ ์ฝ๋๋ฅผ ์ฎ๊ธฐ๋ ๋ช ๋ น์ด๋git add <์ฎ๊ธธ ํ์ผ์ ๊ฒฝ๋ก๋ช >
์ด๋ค.
๋ชจ๋ ํ์ผ์ ํ ๋ฒ์ ์ถ๊ฐํ๋ ค๋ฉดgit add .
์ ์ ๋ ฅํ๋ฉด ๋๋ค.
git status ( staging area ์์ ํ์ผ ์ํ ํ์ธ )
staging area๋ก ์ ์ฎ๊ฒจ์ก๋์ง ํ์ธํ๊ธฐ ์ํด์๋
git status
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
staging area๋ก ์ฎ๊ฒจ์ง์ง ์์ ํ์ผ์๋นจ๊ฐ์ ๊ธ์จ
๋ก ํ์๋๋ฉฐ,
staging area๋ก ์ ์ฎ๊ฒจ์ก๋ค๋ฉด ํ์ผ์ด์ด๋ก์ ๊ธ์จ
๋ก ํ์๋๋ค.
git commit ( ์ ์ฅ์์ ๊ธฐ๋กํ๊ธฐ )
staging area์ ์๋ ํ์ผ์
commit
์ด ๊ฐ๋ฅํ๋ค.
commit
์ ํ์ผ ๋ฐ ํด๋์์ถ๊ฐ/๋ณ๊ฒฝ ์ฌํญ
์์ ์ฅ์์ ๊ธฐ๋ก
ํ๋ ์์ ์ด๋ค.
git commit -m "commit Message, ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ด๋๋ ๊ณณ"
์ปค๋ฐ ๋ฉ์ธ์ง๋ ์์ ๋จ์๋ก, ์งง๊ณ ๊ฐ๊ฒฐํ๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
1. Github ํํ์ด์ง์์ ์๋ก์ด repository ๋ง๋ค๊ธฐ
๊นํ๋ธ ํํ์ด์ง์ ์ ์ > ๋ก๊ทธ์ธ ํ
์ผ์ชฝ ์๋จ์ new ๋ฒํผ์ ๋๋ฌ ์๋ก์ด repository๋ฅผ ์์ฑํ๋ค.
โ Owner = ์์ ์ ์์ด๋ ์ธ์ง ํ์ธ
โ Repository name = ์ํ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ ์ ๋ ฅ
โ Public / Private ์ฌ๋ถ๋ฅผ ์ฒดํฌ
์๋์ ๊ฐ์ ํ๋ฉด์ด ๋จ๋ฉด ๋ ํฌ์งํ ๋ฆฌ ์์ฑ์ ์ฑ๊ณต์ ์ผ๋ก ๋ง์น๊ฒ์ด๋ค
๊ฐ๋ฆฐ๊ฒ์ ์์๋๋ก ์์ด๋ , ๋ด๊ฐ ์ง์ ๋ ํฌ์งํ ๋ฆฌ ์ด๋ฆ์ด๋ค.
2. ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์ ์ฐ๊ฒฐํ๊ธฐ
git remote add [name] [์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์]
ex. git remote add origin git@github.com:{๊นํ ์์ด๋}/{ ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ}.gitโ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฃผ์๋ ๋นจ๊ฐ ๋ฐ์ค ๋ถ๋ถ์ ํด๋นํ๋ค.
โ name์ ๋ฑ๋กํ ์๊ฒฉ ์ ์ฅ์์ ์ด๋ฆ์ด๋ค. ( ์ผ๋ฐ์ ์ผ๋ก origin์ ์ฌ์ฉํ๋ค.)โ
git remote -v
๋ช ๋ น์ด๋ก ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ ์ฐ๊ฒฐ๋์๋์ง ํ์ธํ๋ค. ์๋์ ๊ฐ์ด ๋์ค๋ฉด ์ ์ฐ๊ฒฐ๋ ๊ฒ์ด๋ค.
3. ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ฎ๊ธฐ๊ธฐ
git push [remote] [branch]
์์ )git push -u origin main
โ remote์๋ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ์ ์ ๋ ฅํ๋ค. (์ผ๋ฐ์ ์ผ๋ก origin)
โ branch๋ ๋ธ๋์น ์ด๋ฆ์ ์ ๋ ฅํ๋ค. (์ผ๋ฐ์ ์ผ๋ก main)
4. ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณ๋ ์ฌํญ ์ ๋ฐ์ดํธํ๊ธฐ
git push -u origin main
์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ๋ฑ๋กํ๋ค๋ฉด git push๊ฐ ๊ฐ๋ฅํ๋ค.
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ main ๋ธ๋์น ๋ด์ฉ์ ์ ๋ฐ์ดํธํ๋ค.