์ฌ๋ฌ ํด๋ค์ ์ต์ํด์ ธ์ผ ํ๋ค.
์ ์ฐ๋์ง ์๊ณ ์ค๋ช ํ ์ ์์ด์ผํจ
VCS(๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ )( Version Control System)
ํ์ ํด. ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ ์์คํ
๋ณด๋ค๋,
์ด๊ฒ ๋ซ๋ค.
- ์์ ํ ๋๋ง๋ค ํ์ผ ์๋ก ๋ง๋ค๋ฉด ๊ด๋ฆฌ๊ฐ ํ๋๋๊น ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ค.
- ์ธ์ ๋ ์ด์ ๋ฒ์ ์ ์ฝ๋๋ก ๋์๊ฐ ์ ์๋ค.
- ์ด๋ ฅ์ ๋จ๊ธธ ์ ์๋ค.(๋๊ฐ ์ฌ๊ธธ ์์ ํ๋์ง ์ ์ ์์)
- ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋๊ณ ์ฌ๋ฌ๋ช ์ ๊ฐ๋ฐ์๋ค์ด ํ์ ํ ์ ์์
branch๋ผ๊ณ ์์ ํ ๋ถ๋ถ์ ๋ฐ๋ก ๋ฐ๋ก ์ฌ๋ฆด ์ ์์
๊น ๋ง๊ณ ๋ cvs mercurial subversion ์ด๋ฐ๊ฑฐ ์๋ค.
ํ์ฌ์์ ์ฐ๋ ๊ฑฐ ์ฐ๋ฉด ๋จ
ํฐ๋ฏธ๋์์ ์์ ํ๋ค.
ํฐ๋ฏธ๋ ๋ช ๋ น์ด
git init
: git ์์๋ด๊ฐ ์์
ํ ํด๋์์ git ์์ํ๊ฒ ๋ค(์ถ์ ๊ด๋ฆฌ ํ๊ฒ ๋ค)
๋๋ฌด ์์ ํด๋์์ ์ถ์ ํ๋ฉด ์๋จ. ์ธ๋ฐ ์๋๊ฒ ๋ง์ด ๋์จ๋ค .
git status
: git ์ํ ํ์ธ
git add
. : ํ์ผ ์์ ์ด๋ ฅ ๊ธฐ๋ก ์ค๋น
ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ ์ ์ฅํ๊ฒ ๋ค.
์์์ ์ฅ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ
git commit
: ํ์ผ ์์ ์ด๋ ฅ ๊ธฐ๋ก. ์ ์ฅ.
git commit -m "๋ฉ์ธ์ง"
: ์ ์ฅํ๋ฉด์ ๋ฉ์ธ์ง ๋จ๊ธด๋ค.
git log
: commit ์ด๋ ฅ ๋ณด๊ธฐ (์ ์ฅ ์ด๋ ฅ)
git ํ์ฉํ๊ธฐ ex)
์ปค๋ฐํ๋ฉด, ๊ฐ ์ปค๋ฐ๋ง๋ค ์ฝ๋๊ฐ ์ฃผ์ด์ง๋๋ฐ,
๋์๊ฐ๊ณ ์ถ์ผ๋ฉด ๊ทธ ์ปค๋ฐ ์ฝ๋๋ก ๋์๊ฐ ์ ์๋ค.
์ฅํ ์บฃ
์ค์ฌ, ๋ชจ์ด๋ ๊ณณ
get remote add orgin http: ~~ ๋,
์ ์ฃผ์์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒฐ์ ํ ๊ฑฐ๊ณ , ์ด์ ์ด ์ฃผ์๋ฅผ origin์ผ๋ก ํ ๊ฒ ์ด๋ฐ ์ฝ๋๋ค.
๋ณต๋ถํด๋๊ณ
git remote --v ํ๋ฉด ์ฐ๊ฒฐ ์ ๋๋์ง ๋ฌ๋ค.
๊นํ์ด๋ ์ปดํจํฐ๋ ์ฐ๊ฒฐ ํ๋ค.
git push origin master : ์ด์ ๋ด๊ฐ ์์
ํ ๋ด์ฉ์ ์ฌ๋ฆฌ๊ฒ ๋ค.
origin์. master ์.(์ด๊ฑด ๋์ค์ ์๊ฒ ๋จ)
์ผ๋จ github ์์ ์ ์ ์ฅ์(repository) ๋ง๋ค๊ณ
๋ด ๋ก์ปฌ ์์ ํด๋ ์์น์์,
git init
์ด๋ฌ๋ฉด ์์ ํด๋ ๋ด์ ์จ๊ฒจ์ง .git ๋๋ ํ ๋ฆฌ ์์ฑ. ์ด์ git์ ํ์ฌ ์ ์ฅ์์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ๊ด๋ฆฌํ๊ฒ ๋๋ค.
๊ทธ๋ค์ ์ถ๊ฐํ๊ณ ์ปค๋ฐํ๊ณ ~
git add .
git commit -m
1.ํด๋ก ํด๋ https ๋งํฌ ๋ณต์ฌํ๋ค.
git clone ์ฃผ์
github์์ ํด๋ก ๋ฐ์ ํ์ผ์ ์ด๋ฏธ git ์ด๋ผ๋ ํ์ผ์ด ์์ด์ git init ์ํด๋ ๋๋ค.
master branch์์ ์์ ํ๋๊ฒ ์๋๋ผ์ ์ branch(์์ ๊ณต๊ฐ)์ ํ์ผ ํ๋ค.
2. ๋ค์ด ๋ฐ๋๋ค๊ณ ๊ทธ ์ฃผ์๋ก ๊ฐ๋ ๊ฑด ์๋๋ผ์ ๋ง์คํฐ ์ฃผ์๋ก ์ผ๋จ ๊ฐ๋ค. (ํด๋ก ํด๋ ์์น)
cd ์์น
3. branch ๋ง๋ ๋ค.
git branch feature/daeyoung
4. ๋ง๋ ๋ค๊ณ ๋ค์ด๊ฐ๋ ๊ฑด ์๋๋ค. ๊ทธ ๊ณต๊ฐ์ผ๋ก ๋ค์ด๊ฐ์ผ ํ๋ค.
git checkout feature/daeyoung
5. ์์ ํ๋ค์ ๋๊ฐ์ด ์ปค๋ฐ๊น์ง ํด์ ์ ์ฅ.
git add .
git commit -m "add:๋ก๊ทธ์ธ ํ์ด์ง ์์ ์๋ฃ "
6.๊ทธ๋ค์ ๊ทธ ์ ์ฅํ ๊ฑธ github ์์ ๋๊ฐ์ด ์ฌ๋ฆฐ๋ค.
origin์ด๋ผ๋ ๊ฑด ์๋ ์๋ ๊ณณ์ ๋ถ๋ฌ์ค๋ ๊ทธ๋ฐ๊ฑฐ. ๊ทธ๋ฅ ์ฐ๋ฉด๋จ. origin master ์ด๋ ๊ฒ ์ธ ์๋ ์์
git push origin feature/daeyoung
7. ์ด๊น์ง ๋๊ณ ๋๋ฉด ์ด์ PR(pull request) ํ๋ ๊ฑฐ๋ค.
ํ๋ก์ ํธ ๋ด์ฉ ์ค๋ช
ํ๊ณ merge ์์ผ ์ฃผ์ธ์! ํ๋ ๋ณด๊ณ ์๋ฅผ ์ฐ๋ ๊ณณ.
PR์ branch ๋จ์์ฌ์, push ํ ๋๋ง๋ค PR ๋ณด๊ณ ์๋ฅผ ์ธ ํ์๋ ์๋ค. ํ๊ณ ์ถ์ผ๋ฉด ์ฝ๋ฉํธ๋ ์์ ๊ฐ๋ฅ
8. pullํด์ master ์ต์ ํ ์ํค๊ธฐ.
github ํด๋ก ๋ฐ์์๋ ์ฒ์ master๋, push๊น์ง ํ๊ณ ๋์์ master ๋์ ๋ค๋ฅด๋ค.
๋ก์ปฌ์ ์๋ master์ ์์ง ์ต์ ํ๊ฐ ์๋์ด์์.
๊ทธ๊ฑฐ ์ต์ ํ ์ํค๋ ๊ฒ pull. ๋ณดํต merge ๋ ๋ ๋ง๋ค pull ํด์ฃผ๋ ๊ฒ ์ข๋ค.
git pull origin master
์ฃผ์ํ ๊ฑด, ํญ์ ์ง๊ธ ํ์ฌ ์์น๋ฅผ ํ์ธํ๊ธฐ.
git branch ํ๋ฉด ํ์ฌ ์์น, branch ๋ชฉ๋ก ๋ค ๋ณผ ์ ์๋ค.