๐Ÿ“š Study/DevOps

GitHub ํ”„๋กœ์ ํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ [pull, fetch, clone]

kkh1902 2022. 7. 15. 14:26
728x90
๋ฐ˜์‘ํ˜•

๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ 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 ํ•ด ์˜ค๋Š” ๊ฒŒ ์ •์‹ ๊ฑด๊ฐ•์— ์ข‹๋‹ค.

728x90
๋ฐ˜์‘ํ˜•