๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

์ƒˆ๋กœ์šด ๋กœ์ปฌ ๊ณต๊ฐ„์—์„œ ์ž‘์—…์„ ํ•  ๊ฒฝ์šฐ Remote๊ณต๊ฐ„์— ์žˆ๋Š” ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

โ€‹1. git clone

โ€‹

Remote์— ์ €์žฅ๋œ ์ž‘์—… ํŒŒ์ผ์„ ํ†ต์งธ๋กœ Local๋กœ ๊ฐ€์ ธ์˜จ๋””.

1) ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ์— ํˆฌ์ž…๋˜๊ฑฐ๋‚˜

2) ์ฑ…์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜ˆ์ œ ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ

3) ์ค‘๊ฐ„์— git์ด ๊ผฌ์˜€์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

git clone https://github.com/repository

// ํŠน์ • ๋ธŒ๋žœ์น˜๋ฅผ clone ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
git clone -b { ๋ธŒ๋žœ์น˜๋ช… } https://github.com/repository

//node-opencv ์˜คํ”ˆ์†Œ์Šค๋ฅผ cloneํ•˜๊ณ  ์‹ถ์„ ๋•Œ
git clone https://github.com/peterbraden/node-opencv.git

 

2. git clone VS git pull

โ€‹

๊ณตํ†ต์ : remote repository์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ local๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.

 

1) git clone

: Remot Repository์˜ ๋ชจ๋“  ํŒŒ์ผ๋“ค์„ ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ํ•œ๋‹ค.

โ€‹

2) git pull

: Local Repository์™€ ๋น„๊ต, ๋ณ‘ํ•ฉ ํ›„์— ์ €์žฅํ•œ๋‹ค.

 

git pull { ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณ„๋ช… } { ๋ธŒ๋žœ์น˜๋ช… }
git pull --rebase { ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณ„๋ช… } { ๋ธŒ๋žœ์น˜๋ช… }

// git pull --rebase = git fetch + git rebase
// pull ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ merge๊ฐ€ ์•„๋‹Œ rebase ๋ฐฉ์‹์œผ๋กœ ๋ณ‘ํ•ฉ์„ ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด --rebase ์˜ต์…˜์„ ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
// merge ๋ณด๋‹ค ํžˆ์Šคํ† ๋ฆฌ( log )๊ฐ€ ๊น”๋”ํ•ด์ง„๋‹ค๋Š” ์žฅ์  ๋•Œ๋ฌธ์— Git์—์„œ๋Š” ์ตœ์‹  ์ฝ”๋“œ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ rebase๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

git pull = git fetch(๋งž์ถ”๊ธฐ) + git merge(ํ•ฉ์น˜๊ธฐ)

โ€‹

1) git fetch

- local์— ์—ฐ๊ฒฐ๋œ remote repository์˜ ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก๊ณผ ๊ทธ ํŒŒ์ผ ๋‚ด์šฉ์„ ์ตœ์‹ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

- local๊ณผ remote์˜ ์‹ฑํฌ๋ฅผ ๋งž์ถ”๋Š” ์ƒˆ๋กœ๊ณ ์นจ ์—ญํ• ์ž…๋‹ˆ๋‹ค.

 

2) git merge

- ๋‘ ๊ฐœ์˜ branch๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

โ€‹- git pull์€ ํ˜‘์—… ๊ณผ์ •์—์„œ ํ”„๋กœ์ ํŠธ์˜ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ local๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

- git clone์„ ํ•˜๋ฉด ๋‚˜์˜ ์ž‘์—…๊ณผ ๋™๋ฃŒ์˜ ์ž‘์—…ํ•œ ์ตœ์‹  ๋ฒ„์ „์€ ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ์กด์žฌ๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ git pull์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ด๊ฐ€ ์ž‘์—… ์ค‘์ธ local repository์™€ ์ตœ์‹  ์ฝ”๋“œ๊ฐ€ ๋น„๊ต๋ฐ ๋ณ‘ํ•ฉ๋˜์–ด, ์ตœ์‹  ๋ฒ„์ „ ํŒŒ์ผ๋“ค์ด ๋‚˜์˜ local repository์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋˜ ์ฝ”๋“œ๋“ค๊ณผ ์ตœ์‹  ๋ฒ„์ „ ํŒŒ์ผ์˜ ์ฝ”๋“œ๋Š” ํ•จ๊ป˜ ์กด์žฌํ•˜๊ฒŒ ๋˜์ฃ . ์ฆ‰, ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ์ฝ”๋“œ์™€ ๋™๋ฃŒ์˜ ์ž‘์—… ์ฝ”๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ํ•ฉ์ณ์ง€๊ฒŒ ๋˜๋‹ˆ๊นŒ ๋งค์šฐ ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

โ€‹

 

โ€‹

โ€‹

โ€‹

โ€‹

๋ฐ˜์‘ํ˜•