Git ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ฐ ์ปค๋งจ๋ ์ ๋ฆฌ
git ์ด๋?
๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ & ๋์ ํ์ ๊ฐ๋ฅ ํ๊ฒ ํด์ฃผ๋ ํด
๋ฒ์ ๊ด๋ฆฌ ํจ์ผ๋ก์จ, ์ง๋ ๊ณผ์ ํ์ธ ๊ฐ๋ฅ ๋ฐ ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ ์ ์์
GitHub ๋?
์๊ฒฉ์ ์ฅ์ ์ด๋ค.
์์ ๋ฌผ ๋ฐฑ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์๋น์ค
git์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ ค๋ ์ ์๋ค
ํ์ ์ด ๊ฐ๋ฅํด ์ง๋ค
๋ ํฌ์งํ ๋ฆฌ(repository) ๋?
์ ์ฅ์ ์ด๋ค
ํ๋ก๊ทธ๋จ ๋ฐ ํ์ผ๋ค ๋ฒ์ ๋ค์ ์ ์ฅ
์ด์ฐฝ๊ธฐ ๋ชจ์ต๋ถํฐ ์ต์ข ๋ชจ์ต๊น์ง ๋ฒ์ ๋ณ๋ก ๋ด๊ฒจ ์๋ค
๊ทธ ๋ฒ์ ํ๋ํ๋๋ฅผ ์ปค๋ฐ ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํจ
commit ์ด๋?
ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ํน์ ๋ชจ์ต์
ํ๋์ ๋ฒ์ ์ผ๋ก ๋จ๊ธฐ๋ ํ์ & ๊ฒฐ๊ณผ๋ฌผ
commit์ ๊ดํ ์ฃผ์์ฌํญ
- ์ฒ์์ผ๋ก ์ปค๋ฐ ํ๊ธฐ ์ ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ค์
- ์ปค๋ฐ๋ฉ์ธ์ง ๋จ๊ธฐ๊ธฐ(์ต์ -m)
- ์ปค๋ฐํ ํ์ผ์ git add๋ก ์ง์ ํด์ฃผ๊ธฐ
Git์ 3๊ฐ์ง ์์ ์์ญ
1.working directory | ์ค์ ๋ก ์์ ์ด ์ด๋ฃจ์ด์ง๋ ํ๋ก์ ํธ ์ง๋ ํ ๋ฆฌ |
2. staging area | git add๋ฅผ ํ ํ์ผ๋ค์ด ์กด์ฌํ๋ ์์ญ |
3. repository | working directory ๋ณ๊ฒฝ ์ด๋ ฅ๋ค์ด ์ ์ฅ๋์ด ์๋ ์์ญ commit๋ค์ด ์ ์ฅ๋๋ ์์ญ |
working directory์์ ์์ ์ํ๊ณ
์์ ํ ํ์ผ๋ค์ git add ํด์ฃผ๊ณ (staging area์ ์ ์ฅ)
์ปค๋ฐ์ ํ๋ฉด stagint area์ ์๋ ํ์ผ๋ค์ด repository์ ์ ์ฅ ๋๋ค
Git์ด ๋ณด๋ ํ์ผ์ 4๊ฐ์ง ์ํ
- Untracked ์ํ
git์ํด ๋ณ๋์ฌํญ์ด ์ถ์ ๋์ง ์๋ ์ํ
์) ํ์ผ์ ์๋ก ์์ฑํ๊ณ ๊ทธ ํ์ผ์ ํ๋ฒ๋ git addํด์ฃผ์ง ์์ ์ํ
- Tracked ์ํ
(1) Staged ์ํ : stagint area์ ์ฌ๋ผ์ ์๋ ์ํ
์) ์์ฑ๋ ํ์ผ์ git add๋ฅผ ํด์ค ์ํ
(2) Unmodified ์ํ
์ต์ ์ปค๋ฐ ๋ชจ์ต๊ณผ ๋น๊ต ํ์ ๋ ์ ํ ๋ฐ๋๊ฒ ์๋ ์ํ
(3)Modified ์ํ
์ต์ ์ปค๋ฐ์ ๋ชจ์ต๊ณผ ๋น๊ตํ์ ๋ ์กฐ๊ธ์ด๋ผ๋ ๋ฐ๋ ๋ด์ฉ์ด ์๋ ์ํ
Git ์ปค๋งจ๋ ์ ๋ฆฌ
- git init : ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ Git์ด ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ(=working directory)๋ก ์ค์ ํ๊ณ ๊ทธ ์์ ๋ ํฌ์งํ ๋ฆฌ(.git ๋๋ ํ ๋ฆฌ) ์์ฑ
- git config user.name {'์ด๋ฆ'} : ํ์ฌ ์ฌ์ฉ์์ ์์ด๋ ์ค์
- git config user.email {'์ด๋ฉ์ผ'} : ํ์ฌ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์ ์ค์
- git add {ํ์ผ ์ด๋ฆ} : ์์ ์ฌํญ์ด ์๋ ํน์ ํ์ผ์ staging area์ ์ฌ๋ฆฌ๊ธฐ
- git add {๋๋ ํ ๋ฆฌ๋ช } : ํด๋น ๋๋ ํ ๋ฆฌ ๋ด์์ ์์ ์ฌํญ์ด ์๋ ๋ชจ๋ ํ์ผ๋ค์ staging area์ ์ฌ๋ฆฌ๊ธฐ
- git add . : working directory ๋ด์ ์์ ์ฌํญ์ด ์๋ ๋ชจ๋ ํ์ผ๋ค์ staging area์ ์ฌ๋ฆฌ๊ธฐ
- git reset {ํ์ผ ์ด๋ฆ} : staging area์ ์ฌ๋ ธ๋ ํ์ผ ๋ค์ ๋ด๋ฆฌ๊ธฐ
- git status : Git์ด ํ์ฌ ์ธ์ํ๊ณ ์๋ ํ๋ก์ ํธ ๊ด๋ จ ๋ด์ฉ๋ค ์ถ๋ ฅ(๋ฌธ์ ์ํฉ์ด ๋ฐ์ํ์ ๋ ํ์ฌ ์ํ๋ฅผ ํ์ ํ๊ธฐ ์ํด ํ์ฉํ๋ฉด ์ข์)
- git commit -m "์ปค๋ฐ ๋ฉ์์ง" : ํ์ฌ staging area์ ์๋ ๊ฒ๋ค ์ปค๋ฐ์ผ๋ก ๋จ๊ธฐ๊ธฐ
- git help {์ปค๋งจ๋ ์ด๋ฆ} : ์ฌ์ฉ๋ฒ์ด ๊ถ๊ธํ Git ์ปค๋งจ๋์ ๊ณต์ ๋ฉ๋ด์ผ ๋ด์ฉ ์ถ๋ ฅ
์ถ์ฒ : codeit ๊ฐ์
Uploaded by N2T