Deep_Dev
article thumbnail

 

 

์›๊ฒฉ์ €์žฅ์†Œ : ๊ทธ์ € ๋˜ ๋‹ค๋ฅธ Repository (์ €์žฅ์†Œ )

ํ˜‘์—… : Repository๋ผ๋ฆฌ์˜ ์ƒํ˜ธ์ž‘์šฉ

 

โœ… ์›๊ฒฉ์ €์žฅ์†Œ(Github)๋ฅผ ํ†ตํ•ด ํ˜‘์—…ํ•˜๊ธฐ

Repository๋ผ๋ฆฌ์˜ ์ƒํ˜ธ์ž‘์šฉ ์ข…๋ฅ˜

  • ์›๊ฒฉ์ €์žฅ์†Œ ์กฐํšŒ(์ถ”๊ฐ€) : git remote
  • ์›๊ฒฉ์ €์žฅ์†Œ ๋ฐ€์–ด๋„ฃ๊ธฐ : git push
  • ์›๊ฒฉ์ €์žฅ์†Œ ๊ฐ–๊ณ ์™€์„œ ํ•ฉ์น˜๊ธฐ : git pull
  • ์›๊ฒฉ์ €์žฅ์†Œ ์ผ๋‹จ ๊ฐ–๊ณ ๋งŒ ์˜ค๊ธฐ : git fetch
  • ์›๊ฒฉ์ €์žฅ์†Œ ๋ณต์‚ฌ : git clone

 

โœ… git remote (-v)

v์˜ต์…˜ : ๋‹จ์ถ•์ด๋ฆ„๊ณผ URL๊ฐ™์ด ๋ณด๊ธฐ

๋‚ด ๋กœ์ปฌ Repository์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ ์žˆ๋Š”( ํ˜น์€ ์•Œ ์ˆ˜ ์žˆ๋Š” ) ์›๊ฒฉ์ €์žฅ์†Œ๋“ค์˜ ๋ชฉ๋ก์„ ์กฐํšŒ

 

๐Ÿ“Œ git remote add origin <url> : ์›๊ฒฉ์ €์žฅ์†Œ ์กฐํšŒ(์ถ”๊ฐ€)ํ•˜๊ธฐ

url์— ์žˆ๋Š” ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ origin์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ฆ‰, git remote add <๋‹จ์ถ•์ด๋ฆ„> <url> 

๊ธฐ์กด ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒˆ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

ex. git remote add prac1 <url> : "๋‹จ์ถ•์ด๋ฆ„์€ prac1์ด๋ผ๊ณ  ๋ถ€๋ฅผ๊ฑฐ๊ณ  url์€ ์ด๊ฑฐ์•ผ"

 

๐Ÿ“Œ git remote rm prac2 : ๋‹จ์ถ•์ด๋ฆ„์ด prac2์ธ remote ์ œ๊ฑฐํ•˜๊ธฐ

 

โœ… git push 

๐Ÿ“Œ git push -u origin main : ์›๊ฒฉ์ €์žฅ์†Œ์— ๋ฐ€์–ด๋„ฃ๊ธฐ 

u์˜ต์…˜ : ๋””ํดํŠธ ์„ค์ •

๋‚ด Repository์˜ main๋ธŒ๋žœ์น˜๋ฅผ origin์˜ main๋ธŒ๋žœ์น˜๋กœ pushํ•˜๋ผ๋Š” ๊ฒƒ

 

์ดํ›„, ํŒŒ์ผ(์ฝ”๋“œ)๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ €์žฅํ•˜๊ณ ๋‚˜์„œ commit/push ํ•˜๋ ค๋ฉด ๊ฐ„๋‹จํ•ด์ง„๋‹ค.

 git commit -am "second commit" 

 git push 

ํ•˜๋ฉด ์™„๋ฃŒ๋œ๋‹ค.

 

 

โœ… git pull 

๐Ÿ“Œ git pull ( origin main ) : ์›๊ฒฉ์ €์žฅ์†Œ ๊ฐ–๊ณ ์™€์„œ ํ•ฉ์น˜๊ธฐ

origin์„ ๋‚ด Repository์˜ main๋ธŒ๋žœ์น˜๋กœ ๊ฐ–๊ณ ์™€๋ผ ( merge ! )

 

๐Ÿ’ก ์›๊ฒฉ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๋‚ด ๋กœ์ปฌ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์œผ๋กœ ๋ฎ์–ด์”Œ์šธ ๋•Œ (ํ˜น์€ ๋™๊ธฐํ™”) ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜„์žฌ ์ž‘์—…์ด ์‚ฌ๋ผ์ง€๋Š”๋ฐ, ์‚ฌ๋ผ์ง€๊ฒŒ ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์œผ๋ฉด pull์ด ์•„๋‹Œ fetch๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ 

 

remote-practice1์— ์žˆ๋Š” ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ณ ์‹ถ๋‹ค๋ฉด ?

 

์ƒˆ๋กœ์šด ํด๋”์—์„œ

 git init 

 git remote add origin <remote-practice1์˜ url> 

์ดํ›„

 git pull origin main : "origin์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์—ฌ๊ธฐ์žˆ๋Š” main๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์˜ฌ๊ฑฐ์•ผ " -> ๋™๊ธฐํ™” ( ์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ด )

 

โœ… git fetch

๐Ÿ“Œ git fetch (origin main) : ์›๊ฒฉ์ €์žฅ์†Œ ์ผ๋‹จ ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ

๋™๊ธฐํ™”์‹œํ‚ค์ง€๋Š” ๋ง๊ณ (=mergeํ•˜์ง€๋ง๊ณ ) origin์„ ๋‚ด Repository์˜ main๋ธŒ๋žœ์น˜๋กœ ์ผ๋‹จ ๊ฐ–๊ณ ์™€๋ผ

 

๋งŒ์•ฝ, ์›๊ฒฉ์ €์žฅ์†Œ(Github)์ž์ฒด์—์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค๋Š” ๊ฐ€์ •์„ ํ•œ๋‹ค.

// 22Line : Fetch ๊ฐ€ ์ถ”๊ฐ€๋จ

๊ทธ๋Ÿฌ๋ฉด ์›๊ฒฉ์ €์žฅ์†Œ์™€ ํ˜„์žฌ ๋‚ด Local์ €์žฅ์†Œ์˜ ํŒŒ์ผ์ด ๋‹ค๋ฅธ๋ฐ ์ด ๋•Œ Fetch๋กœ ๊ฐ€์ ธ์˜ฌ๊ฒƒ์ด๋ผ๋ฉด

 git fetch origin 

ํ•˜๋ฉด local์ €์žฅ์†Œ์˜ ํŒŒ์ผ์ด ์ˆ˜์ •๋˜์ง„ ์•Š๊ณ , ํ™•์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์–ด๋””์„œ ?

๋ฐ”๋กœ origin์˜ main๋ธŒ๋žœ์น˜์—์„œ ๋ง์ด๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด origin์˜ main์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

 git checkout origin/main 

// 0167b0 : checkout์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜

 

๊ทธ๋Ÿผ ํด๋”๋ฅผ ๋“ค์–ด๊ฐ€์„œ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด, ์ด์ œ๋Š” ๋ฐ”๊ปด์žˆ๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ™•์ธ์ดํ›„ ๋‹ค์‹œ main๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•œ๋‹ค.

git checout main 

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๋˜‘๊ฐ™์€ ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด ์ถ”๊ฐ€๋œ ๋‚ด์šฉ์ด ์‚ฌ๋ผ์ง€๊ณ  ์›๋ž˜๋Œ€๋กœ ๋Œ์•„๊ฐ€์žˆ๋‹ค.

 

 

โœ… git clone

git clone <url> : ์›๊ฒฉ์ €์žฅ์†Œ ๋ณต์‚ฌํ•˜๊ธฐ

<url>์— ์žˆ๋Š” ์›๊ฒฉ์ €์žฅ์†Œ ๋‚ด์šฉ์„ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌํ•ด์˜จ๋‹ค.

( origin ์ž๋™์ƒ์„ฑ )

 

์ž‘์—… ํ•  ํด๋”(local ์ €์žฅ์†Œ)์— 

 git init 

ํ›„ ๋ณต์‚ฌ๋ฅผ ํ•  ์›๊ฒฉ์ €์žฅ์†Œ์™€ url์„ ๊ฐ€์ ธ์˜จ๋‹ค.

 git clone <url> 

 

 

 

 

 

๐Ÿ“ ์ถœ์ฒ˜

https://www.inflearn.com/course/%EB%B9%A0%EB%A5%B4%EA%B2%8C-git

 

๋น ๋ฅด๊ฒŒ git - ํ•ต์‹ฌ๋งŒ ๊ณจ๋ผ ๋ฐฐ์šฐ๋Š” Git/Github ๊ฐ•์˜ - ์ธํ”„๋Ÿฐ

๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฒ„์ „๊ด€๋ฆฌ๋Š” ์ด์ œ ํ•„์ˆ˜ ์ง€์‹์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ดˆ์ ์ธ git ๋ช…๋ น์–ด์™€ Github ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ Git๊ณผ Github๋ฅผ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค :), ๐Ÿ™†๐Ÿป‍โ™€ ๋Œ€์ฒด git์ด ๋ญ๊ธธ๋ž˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ

www.inflearn.com