์์ด ์๋ฌธ: Git Fetch vs Pull: What's the Difference Between the Git Fetch and Git Pull Commands?
Git pull๊ณผ fetch๋ Git ์ฌ์ฉ์๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ๋ ๋ช ๋ น์ด์ ์ฐจ์ด์ ์ ์์๋ณด๊ฒ ์ต๋๋ค.
pull๊ณผ fetch ๋ช
๋ น์ ํด๋ก ์ ์ฅ์(clone repo)์์ ์์
ํ ๋ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ํด๋ก ์ ์ฅ์๋ ๊ธฐ์กด ์ ์ฅ์๋ฅผ ๋ณต์ ํ ์ ์ฅ์์ด๋ฉฐ, ๋ค๋ฅธ ์ฌ๋์ ์์ค ์ฝ๋์ ๋ณต์ฌ๋ณธ์ ์์ฑํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๊ธฐ์กด ์ ์ฅ์์ ์ ์ฉ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํด๋ก ์ ์ฅ์๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ํด๋ก ์ ์ฅ์๋ก ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
์ด๋ fetch์ pull ๋ช
๋ น์ด๊ฐ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
git fetch๋ ๋ก์ปฌ Git์ ๊ธฐ์กด ์๊ฒฉ ์ ์ฅ์์์ ์ต์ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ํ์ธํ๋๋ก ์ง์ํ๋ ๋ช
๋ น์
๋๋ค. fetch๋ ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ด ์๋์ง ํ์ธ๋ง ํ๊ณ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ Git์ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.
๋ฐ๋ฉด git pull์ ์๊ฒฉ ์ ์ฅ์์์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ Git์ ๊ฐ์ ธ์ค๊ณ ๋ณต์ฌํฉ๋๋ค.
๋ค์์ pull ๋ช
๋ น์ ์ฌ์ฉํ๋ ์์ ๊ตฌ๋ฌธ์
๋๋ค:
git pull origin ankur bugfix
์ฌ๊ธฐ์ ๊ธฐ์ตํด์ผ ํ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ํฌ์คํ ์ด์ ์ ํ๋ก์ ํธ ๋ณต์ฌ๋ณธ์ด ์ธ ๊ฐ ์ด์ ์๋ค๋ ์ ์ ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉ์์ ์ปค๋ฐ ๊ธฐ๋ก์ด ์๋ ์ฌ์ฉ์์ ์ ์ฅ์์ ๋๋ค (๋ค์ ๋งํด, ์ด๋ฏธ ์ ์ฅ์ด ๋ ์ ์ฅ์).
- ๋ ๋ฒ์งธ ๋ณต์ฌ๋ณธ์ ํธ์ง ๋ฐ ์์ฑ ์ค์ด์ง๋ง ์ฌ์ฉ์ ์ ์ฅ์์ ์์ง ์ปค๋ฐ๋์ง ์์ ๋ณต์ฌ๋ณธ์ ๋๋ค.
- ์ธ ๋ฒ์งธ ๋ณต์ฌ๋ณธ์ ์๊ฒฉ ์ ์ฅ์์ ๋ก์ปฌ์ "์บ์๋ (cached)" ๋ณต์ฌ๋ณธ์ ๋๋ค(๋ณต์ ๋ ์๋ณธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค).
git fetch๋ฅผ ์ฌ์ฉํ๋ฉด ๋ง์ง๋ง pull ์ดํ ์๊ฒฉ ์ ์ฅ์ ๋๋ ๋ธ๋์น์ ์ ์ฉ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํ ์ ์์ต๋๋ค. pull์ ์คํํ๋ฉด ํ์ฌ ๋ธ๋์น์ ์์
๋ณต์ฌ๋ณธ์ ํ์ผ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ ๋ณ๊ฒฝ ๋ด์ฉ์ด ์์ค๋ ์ ์๊ธฐ ๋๋ฌธ์ ์คํํ๊ธฐ ์ ์ fetch๋ก ํ์ธํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค.
git fetch
git diff ...origin
