GitHub ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ [pull, fetch, clone]
๊นํ๋ธ ์๊ฒฉ์ ์ฅ์์ ์๋ ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.
1. git push
2. git fetch
3. git clone
์ด ์ฒ๋ผ ํ๋์ ์ปดํจํฐ๊ฐ ์๋ ์ฌ๋ฌ ๋์ ์ปดํจํฐ์์ ์๊ฒฉ์ ์ฅ์์ ๋ด์ฉ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
์์ง ๊นํ๋ธ ์ ์ฅ์๋ฅผ ๋ง๋ค์ง ์์ ์ฌ๋์ด๋ผ๋ฉด ์๋ ํฌ์คํ
์ ์ฐธ๊ณ !
๐ฃ git pull = git fetch + git merge
pull๊ณผ fetch์ ์ฐจ์ด์ ์ ๋ณํฉ์ ํ๋ ์ ํ๋์ ์ฐจ์ด๋ค.
1. git pull ?
์๊ฒฉ์ ์ฅ์์ ์๋ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ทธ๋๋ก ๋ก์ปฌ์ ์ฅ์์ ์ฎ๊ฒจ์ ์๋์ผ๋ก ๋ณํฉ
ํ ๋จ์๋ก ์ฌ์ฉํ๋ ๊ณ์ ์ด ์๋ ๊ฐ์ธ์ ์ผ๋ก ๊นํ๋ธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ด๋ผ๋ฉด git pull ๋ช
๋ น์ด๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ ๊ฒ์ด๋ค.
"๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ด๊ณผ ๋์์ ์๋์ผ๋ก ๋ณํฉ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฌด์์ด ์ถ๊ฐ๋๊ณ ๋ณํฉ๋์๋์ง ํ์ธ์ด ์ ๋จ"
2. git fetch ?
์๊ฒฉ์ ์ฅ์์ ์๋ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ ํ ๋ณํฉ(merge)์ ๋ฐ๋ก
๊น ์
๋ฌธ์ ๋๋ ๊นํ๋ธ๋ฅผ ๊ฐ์ธ์ ์ผ๋ก ์ฌ์ฉํ๋ ์ฌ๋์ด๋ผ๋ฉด git fetch ๋ช
๋ น์ด๋ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ด๋ค.
"๋ค๋ฅธ ์ฌ๋์ด ์์ ํ ๋ถ๋ถ์ ํ์ธํ๊ณ ๋ณํฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์์"
3. git clone ?
clone์ด๋ผ๋ ๋จ์ด์ฒ๋ผ ์๊ฒฉ์ ์ฅ์์ ๋ด์ฉ์ ์๋ก์ด ํด๋์ ๊ทธ๋๋ก ๋ณต์ฌํ๋ ๊ฒ!
git pull๊ณผ git clone ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
- git pull
1๏ธโฃ ํฐ๋ฏธ๋์ ์ด๊ณ ๋ก์ปฌ์ ์ฅ์ ํด๋๋ก ์ด๋ํ๋ค. (ํฐ๋ฏธ๋์ cd ๊น์ง๋ง ์ ๋ ฅ ํ ํด๋๋ฅผ ํฐ๋ฏธ๋๋ก ๋๋๊ทธํด์ ๋ฃ์ด์ฃผ๋ฉด ์ค์ ์ฌ์)
2๏ธโฃ git remote -v๋ก ์ฐ๊ฒฐ๋ ์ ์ฅ์ ํ์ธ
3๏ธโฃ ์ ์ฅ์ ์ฐ๊ฒฐ ํ์ธ ํ git pull ์ ๋ ฅ
๋งค์ฐ ๊ฐ๋จํ๋ค!
git pull ๋ช
๋ น์ด๊ฐ ์๋๋ ์ฌ๋์ "git pull origin master" ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด๋ณด์!
git pull origin master = git pull [์๊ฒฉ ์ ์ฅ์์ ์ด๋ฆ] [์๊ฒฉ ์ ์ฅ์์์ ๋ฐ์์ค๊ณ ์ ํ๋ ๋ธ๋์น์ ์ด๋ฆ]
- git clone
1๏ธโฃ ํฐ๋ฏธ๋์ ์ด๊ณ clone ํ ์ ์ฅ์ ํด๋๋ก ์ด๋ (ํฐ๋ฏธ๋์ cd ๊น์ง๋ง ์ ๋ ฅ ํ ํด๋๋ฅผ ํฐ๋ฏธ๋๋ก ๋๋๊ทธํด์ ๋ฃ์ด์ฃผ๋ฉด ์ค์ ์ฌ์)
์๋ก์ธ ํด๋๋ฅผ ๋ง๋ค์ด์คฌ๋ค.
2๏ธโฃ clone ํ ์๊ฒฉ์ ์ฅ์ ์ฃผ์๋ฅผ ๋ณต์ฌํด์จ๋ค!
3๏ธโฃ git clone (github์ฃผ์) ์ ๋ ฅ
์ํฐ๋ฅผ ๋๋ฅด๋ ์๊ฐ ๋ณต์ฌ๊ฐ ๋๋ค.
push / pull์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๋๋ ๋ชจ๋ฅด๊ฒ commit ๋ด์ญ์ด ๊ผฌ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๊ทธ๋ผ push๋ ์๋๊ณ pull๋ ์๋๋ค.... ์ด๋ณด์๋ผ๋ฉด ๋ฌด์กฐ๊ฑด! ํ ๋ฒ์ ๊ผฌ์ธ๋ค.
๊ทธ๋ด ๋ ๊ธฐ์กด์ ๋ก์ปฌ์ ์ฅ์๋ฅผ ์ง์ฐ๊ณ clone ํด ์ค๋ ๊ฒ ์ ์ ๊ฑด๊ฐ์ ์ข๋ค.