Git - ๋ถ์ฐ๋ฒ์ ๊ด๋ฆฌ์์คํ (DVCS)
- ๋ฆฌ๋์ค ํ ๋ฅด๋ฐ์ค๊ฐ ๊ฐ๋ฐ
- ์ปดํจํฐ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์๋ค ๊ฐ์ ํด๋น ํ์ผ๋ค์ ์์ ์ ์กฐ์จ
๋ฒ์ ๊ด๋ฆฌ
- ์คํ์์ค ์ฌ๋ก(ํฌ๋ก๋ฏธ์)
- ์ต์ ๋ฒ์ ์์ค์ฝ๋ ์ฉ๋ 1.58GB
- ํ์ฌ๊น์ง ๋ฐฑ๋ง์ฌ๊ฐ์ ๋ฒ์
- ์ ์ฒด ์ฉ๋์ ์ผ๋ง์ผ๊น? 25GB, ํ๋์ ํด๋
- ํ๋์ ํ์ผ์ด์ง๋ง ๋ฒ์ ์ ๊ธฐ๋ก, ํ์ธ
- Git์ ํ์ฉํ๋ค๋ฉด?
- ๋ฒ์ ๊ด๋ฆฌ(vsc), ์์ค์ฝ๋ ๊ด๋ฆฌ(Scm)๋ ๋์ผ ์ ๋ณด์ ๋ํ ์ฌ๋ฌ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋งํ๋ค.
CVSC(์ค์์ง์ค์๋ฒ์ ๊ด๋ฆฌ์์คํ ) vs DVCS(๋ถ์ฐ๋ฒ์ ๊ด๋ฆฌ์์คํ )
- ์ค์์ง์ค์๋ฒ์ ๊ด๋ฆฌ์์คํ ์ ์ค์์์ ๋ฒ์ ์ ๊ด๋ฆฌํ๊ณ ํ์ผ์ ๋ฐ์์ ์ฌ์ฉ
- ๋ถ์ฐ๋ฒ์ ๊ด๋ฆฌ์์คํ ์ ์๊ฒฉ ์ ์ฅ์(remote repo.)๋ฅผ ํตํ์ฌ ํ์ ํ๊ณ , ๋ชจ๋ ํ์คํ ๋ฆฌ๋ฅผ ํด๋ผ์ด์ธํธ ๋ค์ด ๊ณต์
Git Bash
- ์๋์ฐ์์ Git์ ํ์ฉํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋๊ตฌ
- ํ๋กฌํํธ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค
- ์ปดํจํฐ ์ ๋ณด
- ๋๋ ํ ๋ฆฌ
- $
- command line interface(CLI)
- CLI, ์ปค๋งจ๋ ๋ผ์ธ ์ธํฐํ์ด์ค ๋๋ ๋ช ๋ น์ด ์ธํฐํ์ด์ค๋ ๊ฐ์ ํฐ๋ฏธ๋ ๋๋ ํ ์คํธ ํฐ๋ฏธ๋์ ํตํด ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ ์ํธ์์ฉ ํ๋ ๋ฐฉ์
- ์์ ๋ช ๋ น์ ์ฌ์ฉ์๊ฐ ํด๋ฐ ํค๋ณด๋ ๋ฑ์ ํตํด ๋ฌธ์์ด์ ํํ๋ก ์ ๋ ฅ
- ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋จ ๋ช
๋ น ์ค ํด์๊ธฐ ๋๋ ์
ธ
- ์ ๋์ค ์ ธ(sh, ksh, csh, tcsh, bash ๋ฑ)๊ณผ CP/M, ๋์ค์ command.com(โ๋ช ๋ น ํ๋กฌํํธโ)๋ฑ
- GUI -๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- CLI - ๋ช ๋ น ์ค ์ธํฐํ์ด์ค
pwd ํ์ฌ ๋๋ ํ ๋ฆฌ ์ถ๋ ฅ cd <path> ๋๋ ํ ๋ฆฌ ์ด๋ ls ๋ชฉ๋ก mkdir <name> ๋๋ ํ ๋ฆฌ ์์ฑ rm <name> ํ์ผ/ํด๋ ์ญ์ rm -r <name> touch ๋นํ์ผ ์์ฑ(ํ์ผ์ ๋ ์ง์ ์๊ฐ์ ์์ )
Git ๊ธฐ์ด ํ๋ฆ
- Git ์ ์ฅ์ ์์ฑ
- $ git init
- ํน์ ํด๋์ git์ ์ฅ์(repository)๋ฅผ ๋ง๋ค์ด ๊ณ ๋๋ฆฌ
- .git ํด๋๊ฐ ์์ฑ๋๋ฉฐ (master)๋ผ๋ ํ๊ธฐ๋ฅผ ํ์ธํ ์ ์์
- ํน์ ํด๋์ git์ ์ฅ์(repository)๋ฅผ ๋ง๋ค์ด ๊ณ ๋๋ฆฌ
- ์์ ์ ํ๊ณ
- ๋ณ๊ฒฝ๋ ํ์ผ์ ๋ชจ์(add)
- ๋ฒ์ ์ผ๋ก ๊ธฐ๋กํ๋ค.(commit)
- working Directory - Staging area - Repository๋ฅผ ํตํด ๋ฒ์ ์ ๊ด๋ฆฌ!
- Status - ์ํ๋ณด๊ธฐ
- $ git status
- Git ์ ์ฅ์์ ๋ณ๊ฒฝ๋ ํ์ผ์ ์ํ๋ฅผ ํ์ธํ๊ธฐ ์ํด ํ์ฉ
- ํ์ผ์ ์ํ๋ฅผ ํ์ธํ ์ ์์chages not staged for commit -์ปค๋ฐoํ์ผ โ working tree
- chages to be comitted โstaging area (add๋ช ๋ น์ด(
- untracked files - ์ปค๋ฐx ํ์ผ โworking tree
- nothing to commit, working tree clean
- log -์ปค๋ฐ๋ณด๊ธฐ
- ํ์ฌ ์ ์ฅ์์ ๊ธฐ๋ก๋ ์ปค๋ฐ์ ์กฐํ
์๊ฒฉ ์ ์ฅ์ ํ์ฉ
- ์๊ฒฉ์ ์ฅ์(remote repository)
- ์๊ฒฉ ์ ์ฅ์๋ ๋คํธ์ํฌ๋ฅผ ํ์ฉํ ์ ์ฅ์
- ์๊ฒฉ์ ์ฅ์ ๊ธฐ๋ณธํ๋ฆ
- clone
- pull
- ํ์ผ์ด ์๋ ์ปค๋ฐ์ pushํ๊ฑฐ๋ pull
๋ธ๋์น
- ์๊ฒฉ ์ ์ฅ์์์ ์ง์ ์์ x
- ๋ชจ๋ ํ์ผ ๋ณ๊ฒฝ ์์ ์ญ์ ์์ฑ โ๋ก์ปฌ์์ ํ๊ธฐ, ์ปค๋ฐ ์ด์ฌํ ํ๊ธฐ
- ๋ฐ์ผ๋ฆฌ ์ปค๋ฐ, til, ํ๋ก์ ํธ ๋ฑ
๋๊ธ