[Git] pull VS fetch VS clone


๊ฐœ๋…

 

1. pull : ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ๊ณผ merge๊นŒ์ง€ ๋™์‹œ์— ํ•˜๋Š” ๊ฒƒ

2. fetch : ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋งŒ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ,  ์›๊ฒฉ ์ €์žฅ์†Œ(๊นƒํ—ˆ๋ธŒ)์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋งŒ ๋กœ์ปฌ ์ €์žฅ์†Œ(๋‚ด ์ปดํ“จํ„ฐ)๋กœ ๊ฐ€์ ธ์˜ค์ง€๋งŒ merge๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ

3. clone : git init + git remote origin ์ฃผ์†Œ + git pull

 

์›๊ฒฉ์ €์žฅ์†Œ : origin/master(repository)


์ฝ”๋“œ

1. pull

1) git ์‹œ์ž‘

git init

2) remote repository ํ™•์ธ

git remote -v

3) repository ์—ฐ๊ฒฐ

git remote origin ์ฃผ์†Œ

4) git pull

git pull 
or git pull origin master

 

2. fetch

1) ๋ณ€๊ฒฝ์‚ฌํ•ญ ๊ฐ€์ ธ์˜ค๊ธฐ

git fetch [์›๊ฒฉ์ €์žฅ์†Œ ์ด๋ฆ„]            // ๋ชจ๋“  ๋ธŒ๋žœ์น˜
git fetch [์›๊ฒฉ์ €์žฅ์†Œ ์ด๋ฆ„] [๋ธŒ๋žœ์น˜ ์ด๋ฆ„] // ํŠน์ • ๋ธŒ๋žœ์น˜

2) ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ตœ์‹  ์ด๋ ฅ (๋กœ๊ทธ) ํ™•์ธ

git log --decorate --all --oneline
(origin/master)   // ์›๊ฒฉ ์ €์žฅ์†Œ
(HEAD -> master)6 // ๋กœ์ปฌ ์ €์žฅ์†Œ
5
4
3
2
1

3) ๋ณ‘ํ•ฉ

๋กœ์ปฌ ์ €์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ์— ์›๊ฒฉ ์ €์žฅ์†Œ ๋‚ด์šฉ merge

git merge origin/master

 

3. clone

git clone ์ฃผ์†Œ

 

 

 

 

  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ