[Git ์ž…๋ฌธ] Git์˜ ๊ธฐ์ดˆ ๊ฐœ๋… -1

2022. 8. 2. 00:18

1. ๋ฒ„์ „ ๊ด€๋ฆฌ

ํ”„๋กœ์ ํŠธ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ๊ทธ์— ๋งž๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ์ผ
  • Git์€ commit์„ ์ด์šฉํ•˜์—ฌ ๋ฒ„์ „์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๊ด€๋ฆฌํ•œ๋‹ค.

 

๊ธฐ์ดˆ ์šฉ์–ด

  • git initialize (git ์ดˆ๊ธฐํ™”) : ์ปดํ“จํ„ฐ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ Git์ด ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์„ค์ •ํ•˜๊ธฐ. ์ฒ˜์Œ ํ•œ ๋ฒˆ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.
  • commit : ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ. commit์ด ํฌํ•จํ•˜๋Š” ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • commit id  : commit ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์œ ์ผํ•œ ๊ฐ’.
    • ์ž‘์—… ์ผ์ž (๋‚ ์งœ์™€ ์‹œ๊ฐ„)
    • ์ž‘์—…ํ•œ ์‚ฌ๋žŒ (์ž‘์„ฑ์ž author)
    • ์ž‘์—… ๋‚ด์—ญ (commit ๋ฉ”์‹œ์ง€)
    • ์ž‘์—… ๋‚ด์—ญ์˜ ์ˆœ์„œ : ํ•ด๋‹น commit ์˜ ์ง์ „ commit ์ด ๋ฌด์—‡์ธ์ง€ ์ •๋ณด
  • history : commitํ•œ ๊ธฐ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณณ
  • add (= staging) : commit์— ๋ฐ˜์˜ํ•  ํŒŒ์ผ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ

 

2. Repository

Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํ”„๋กœ์ ํŠธ

 

Local Repository

= ๋กœ์ปฌ repo
๋‚ด ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ
  • Tracking (= Branch Tracking) : ๋กœ์ปฌ repo๊ฐ€ ์›๊ฒฉ repo๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ

 

์›๊ฒฉ Repository

= ์›๊ฒฉ repo
Github์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ
  • Push : ๋กœ์ปฌ repo์˜ commit๋“ค์„ ์›๊ฒฉ repo์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ = commit๋“ค์„ ์›๊ฒฉ repo์— ๋ฐ€์–ด(Push)๋„ฃ๋Š”๋‹ค
  • Pull : ์›๊ฒฉ repo์˜ commit๋“ค์„ ๋กœ์ปฌ repo์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ = commit๋“ค์„ ์›๊ฒฉ repo์—์„œ ๋‹น๊ฒจ(Pull)์˜จ๋‹ค
๐Ÿ‘‰๐Ÿป
Github : ์›๊ฒฉ repo๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ณต๊ฐ„ + ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ

 

conflict (์ถฉ๋Œ)

์›๊ฒฉ repo์™€ ๋กœ์ปฌ repo ์˜ ํŒŒ์ผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๊ฒน์นœ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ
์ฆ‰, ์›๊ฒฉ repo์™€ ๋กœ์ปฌ repo์—์„œ ๊ฐ™์€ ํŒŒ์ผ ์ˆ˜์ • → Git์ด '์–ด๋–ค ํŒŒ์ผ์„ ์ตœ์ข…์œผ๋กœ ํ• ๊นŒ?' ๋ผ๊ณ  ํ™•์ธ ๋ฉ”์‹œ์ง€๋ฅผ ์คŒ
  • ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ผ์ค€๋‹ค.
    1. ์›๊ฒฉ repo์™€ ๋กœ์ปฌ repo์˜ ์ƒํƒœ๋ฅผ ๋˜‘๊ฐ™์ด ๋งž์ถฐ์ค€ ํ›„์— ๋ณ€๊ฒฝ์ž‘์—…์„ ํ•ด์ค€๋‹ค. (= ๋กœ์ปฌ repo์— ์›๊ฒฉ repo ์ž‘์—…๋‚ด์—ญ pull ํ•ด์˜ค๊ธฐ)
    2. ์›๊ฒฉ repo์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ฒผ๋‹ค ํ•˜๋ฉด ๋จผ์ € pull ํ•œ ํ›„ → ๋กœ์ปฌ repo์—์„œ ์ž‘์—…ํ•˜๊ธฐ

 

Clone

์›๊ฒฉ repo๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ. = ์ผ์ข…์˜ ์ดˆ๊ธฐ ๋‹ค์šด๋กœ๋“œ
  • A ์ปดํ“จํ„ฐ์—์„œ ์ž‘์—… → github์— ์—…๋กœ๋“œ → B ์ปดํ“จํ„ฐ์—์„œ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ repo๋ฅผ ๋‚˜๋„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ

์ด์ฒ˜๋Ÿผ ์›๊ฒฉ repo๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์— ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ, clone์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์ฆ‰, clone = repo๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์— ๋ณต์ œํ•ด์˜ค๋Š” ๊ฒƒ
  • url์„ ํ†ตํ•ด ์›๊ฒฉ repo์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ

 

 

๐Ÿ’ก
๊ณต๊ฐœ repo ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„๊ณต๊ฐœ repo๋ผ๋„ ๊ถŒํ•œ์ด ์žˆ๋‹ค๋ฉด(ex: ํ•ด๋‹น repo์˜ ์ฃผ์ธ) cloneํ•ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

BELATED ARTICLES

more