๋ณ๊ฒฝ ๋ด์ฉ์ ๊ฐ์ ธ์ค๊ธฐ ์ํ ์ต์
๋ค์ ๋ช
๋ น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ํธ ์์ฉํ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. clone
๊ณผ fetch
๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ฒฉ URL์์ ๋ก์ปฌ ์ปดํจํฐ๋ก ์๊ฒฉ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๊ณ , merge
๋ ๋ค๋ฅธ ์ฌ๋์ ์์
์ ์์ ์ ์์
๊ณผ ๋ณํฉํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, pull
์ fetch
์ merge
์ ์กฐํฉ์
๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ ๋ณต์
๋ค๋ฅธ ์ฌ์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฒด ๋ณต์ฌ๋ณธ์ ๊ฐ์ ธ์ค๋ ค๋ฉด git clone
์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ ๋ ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ URL ์ค์์ ์ ํํ ์ ์์ต๋๋ค. GitHub์ ๋ก๊ทธ์ธํ๋ ๋์ ์ฝ๋๋ฅผ ํด๋ฆญํ๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋ณธ ํ์ด์ง์์ ์ด๋ฌํ URL์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
git clone
์ ์คํํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋์์ด ๋ฐ์ํฉ๋๋ค.
repo
๋ผ๋ ์ ํด๋๊ฐ ๋ง๋ค์ด์ง- Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๊ธฐํ๋จ
- ๋ณต์ ํ URL์ ๊ฐ๋ฆฌํค๋ ์๊ฒฉ ์ด๋ฆ
origin
์ด ๋ง๋ค์ด์ง - ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ ๋ฐ ์ปค๋ฐ์ด ๋ค์ด๋ก๋๋จ
- ๊ธฐ๋ณธ ๋ถ๊ธฐ๊ฐ ์ฒดํฌ ์์๋จ
์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ชจ๋ ๋ถ๊ธฐ foo
์ ๋ํด ํด๋น ์๊ฒฉ ์ถ์ ๋ถ๊ธฐ refs/remotes/origin/foo
๊ฐ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ง๋ค์ด์ง๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์๊ฒฉ ์ถ์ ๋ถ๊ธฐ ์ด๋ฆ์ origin/foo
๋ก ์ถ์ฝํ ์ ์์ต๋๋ค.
์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ณ๊ฒฝ ๋ด์ฉ ํ์น
๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ํํ ์ ์์
์ ๊ฒ์ํ๋ ค๋ฉด git fetch
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ์นํ๋ฉด ๋ณ๊ฒฝ ๋ด์ฉ์ด ์์ ์ ๋ถ๊ธฐ์ ๋ณํฉ๋์ง ์์ ์ฑ ๋ชจ๋ ์ ์๊ฒฉ ์ถ์ ๋ถ๊ธฐ ๋ฐ ํ๊ทธ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค.
์ํ๋ ํ๋ก์ ํธ์ ๋ํด ์๊ฒฉ URL์ด ์ค์ ๋ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ ํฐ๋ฏธ๋์์ git fetch *remotename*
์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository
์๋๋ฉด ํญ์ ์ ์๊ฒฉ์ ์ถ๊ฐํ ๋ค์ ํ์นํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ด๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ณ๊ฒฝ ๋ด์ฉ์ ๋ก์ปฌ ๋ถ๊ธฐ์ ๋ณํฉ
๋ณํฉ์ ๋ก์ปฌ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝํ ๋ด์ฉ๊ณผ ๊ฒฐํฉํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์๊ฒฉ ์ถ์ ๋ถ๊ธฐ(์ฆ, ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ์นํ ๋ถ๊ธฐ)๋ฅผ ๋ก์ปฌ ๋ถ๊ธฐ์ ๋ณํฉํฉ๋๋ค.
$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work
์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ณ๊ฒฝ ๋ด์ฉ ๋์ด์ค๊ธฐ
git pull
์ ๋์ผํ ๋ช
๋ น์์ git fetch
์ git merge
๋ฅผ ์๋ฃํ๊ธฐ ์ํ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์
๋๋ค.
$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work
pull
์ ๊ฒ์๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ํ ๋ณํฉ์ ์ํํ๋ฏ๋ก, pull
๋ช
๋ น์ ์คํํ๊ธฐ ์ ์ ๋ก์ปฌ ์์
์ด ์ปค๋ฐ๋์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ํด๊ฒฐํ ์ ์๋ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ๊ฑฐ๋ ๋ณํฉ์ ์ข
๋ฃํ๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒฝ์ฐ, ๋ถ๊ธฐ๋ฅผ ๋์ด์ค๊ธฐ ์ ์ ์์น๋ก ๋๋๋ฆฌ๋ ๋ฐ git merge --abort
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.