๐Ÿ“

6. Git Fork

ย 
๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ์— ์—†๋Š” ๊ธฐ๋Šฅ์„ ์•Œ๋ฆฌ๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €์žฅ์†Œ์˜ ๊ถŒํ•œ์€ ๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ์—๊ฒŒ๋งŒ ์žˆ๊ณ  ์•Œ๋ฆฌ์—๊ฒŒ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ €์žฅ์†Œ์˜ ๊ถŒํ•œ์„ ์–ป์–ด๋‚ด๊ธฐ ์œ„ํ•ด ์•Œ๋ฆฌ๋Š” ๊ธฐ์—ฌ์ž ๋“ฑ๋ก์„ ํ•ด์•ผ ํ• ๊นŒ์š”?
๊ธฐ์—ฌ์ž ๋“ฑ๋ก์„ ๋”ฐ๋กœ ํ•˜์ง€ ์•Š์•„๋„ Fork๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๋ณธ ์ €์žฅ์†Œ๋ฅผ ๋ณต์‚ฌํ•ด ๋‚ด ์ €์žฅ์†Œ์—์„œ commit > push ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์ƒ์„ฑ ํ›„, ๋‚ด ์ €์žฅ์†Œ ๋ธŒ๋žœ์น˜์™€ ๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ์˜ ์ €์žฅ์†Œ์˜ ๋ธŒ๋žœ์น˜์— merge๋ฅผ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
ย 
notion imagenotion image
ย 
๋ธŒ๋žœ์น˜์™€ ํฌํฌ๋Š” ๋‘๊ฐ€์ง€ ๋ชจ๋‘ ์ฝ”๋“œ๋ฅผ ํ˜‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๊ธฐ์ ์„ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์ด์ง€๋งŒ ํŠน์„ฑ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธŒ๋žœ์น˜
    • ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„์–ด ์“ด๋‹ค.
    • ์ฝ”๋“œ ์ปค๋ฐ‹ ์ด๋ ฅ์„ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๋ฉด ๊ด€๋ฆฌํ•˜๊ธฐ ํž˜๋“ค๋‹ค.
    • ์†Œ์ˆ˜์ธ์› ์ž‘์—… ์‹œ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ํฌํฌ
    • ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.
    • ์›๋ณธ ์ €์žฅ์†Œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์›๋ณธ ์ €์žฅ์†Œ์˜ ์ด๋ ฅ์„ ๋ณด๋ ค๋ฉด ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
    • ๋ถˆํŠน์ • ๋‹ค์ˆ˜์˜ ์‚ฌ๋žŒ์˜ ์ž‘์—… ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
ย 
  1. ๋ณต์‚ฌํ•˜๊ณ ์ž ํ•˜๋Š” Github ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ๋“ค์–ด๊ฐ€์„œ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— Fork๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    1. notion imagenotion image
      ย 
      Fork๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      notion imagenotion image
      ย 
  1. ํฌํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํฌํฌํ•œ ์ €์žฅ์†Œ๋ฅผ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ ๋ณต์‚ฌ ๋ฒ„ํŠผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    1. notion imagenotion image
      ย 
      ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ณณ์œผ๋กœ ์ด๋™ํ•œ ํ›„, ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.
      $ cd ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ณณ $ git clone ๋ณต์‚ฌํ•œ git์ฃผ์†Œ
      ย 
  1. ์ฝ”๋“œ ์ˆ˜์ • > commit > push
ย 
์ด๋•Œ, ๊ฐœ๋ฆฌ์™€ ๋น™ํ‚ค์˜ ์›๋ณธ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์›๋ณธ ์ €์žฅ์†Œ์™€ ์•Œ๋ฆฌ์˜ ์ €์žฅ์†Œ๋Š” ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ์ €์žฅ์†Œ์˜ ์ด๋ ฅ์„ ๋ณด๊ณ  ์‹ถ์œผ์‹  ๊ฒฝ์šฐ ์›๋ณธ ์ €์žฅ์†Œ๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ย 
์›๊ฒฉ ์ €์žฅ์†Œ ์ด๋ฆ„๋“ค์„ ๊ฐ€์ง€๊ณ  ์˜ต๋‹ˆ๋‹ค.
$ git remote
notion imagenotion image
ย 
์ƒˆ๋กœ์šด ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
$ git remote add ์ƒˆ๋กœ์šด_์›๊ฒฉ์ €์žฅ์†Œ_์ด๋ฆ„ forkํ•œ_git์ฃผ์†Œ
ย 
notion imagenotion image
ย 
๋กœ์ปฌ ์ €์žฅ์†Œ์—๋Š” ์—†์ง€๋งŒ ์›๋ณธ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด fetch ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
$ git fetch ์ƒˆ๋กœ์šด_์›๊ฒฉ์ €์žฅ์†Œ_์ด๋ฆ„