๐Ÿ“

5. Fork

1. Fork๋ž€?

๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ์— ์—†๋Š” ๊ธฐ๋Šฅ์„ ์•Œ๋ฆฌ๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €์žฅ์†Œ์˜ ๊ถŒํ•œ์€ ๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ์—๊ฒŒ๋งŒ ์žˆ๊ณ  ์•Œ๋ฆฌ์—๊ฒŒ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ €์žฅ์†Œ์˜ ๊ถŒํ•œ์„ ์–ป์–ด๋‚ด๊ธฐ ์œ„ํ•ด ์•Œ๋ฆฌ๋Š” ๊ธฐ์—ฌ์ž ๋“ฑ๋ก์„ ํ•ด์•ผ ํ• ๊นŒ์š”?
๊ธฐ์—ฌ์ž ๋“ฑ๋ก์„ ๋”ฐ๋กœ ํ•˜์ง€ ์•Š์•„๋„ Fork๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๋ณธ ์ €์žฅ์†Œ๋ฅผ ๋ณต์‚ฌํ•ด ๋‚ด ์ €์žฅ์†Œ์—์„œ commit > push ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์ƒ์„ฑ ํ›„, ๋‚ด ์ €์žฅ์†Œ ๋ธŒ๋žœ์น˜์™€ ๋น™ํ‚ค์™€ ๊ฐœ๋ฆฌ์˜ ์ €์žฅ์†Œ์˜ ๋ธŒ๋žœ์น˜์— merge๋ฅผ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
๋ฌผ๋ก  ํ—ˆ๋ฝ์„ ๋งก์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค!
๐Ÿ’ก
์ž…์‚ฌ ๊ณผ์ œ๋กœ, ์‹ค๋ฌด์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  1. Fork๋กœ ๊ณผ์ œ๋ฅผ ๋ณต์‚ฌ
  1. ๊ณผ์ œ ์ˆ˜ํ–‰ ํ›„ pull request(ํ”Œ๋ฆฌํ€˜ ๋˜๋Š” PR๋ณด๋‚ธ๋‹ค ์–˜๊ธฐํ•ฉ๋‹ˆ๋‹ค.)
ย 
notion imagenotion image
ย 

2. Fork ํ•˜๋Š” ๋ฐฉ๋ฒ•

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

3. ๋ธŒ๋žœ์น˜์™€ ํฌํฌ์˜ ์ฐจ์ด๋Š”?

๋ธŒ๋žœ์น˜์™€ ํฌํฌ๋Š” ๋‘๊ฐ€์ง€ ๋ชจ๋‘ ์ฝ”๋“œ๋ฅผ ํ˜‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๊ธฐ์ ์„ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์ด์ง€๋งŒ ํŠน์„ฑ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ย 
๋ธŒ๋žœ์น˜
ํฌํฌ
ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„์–ด ์“ด๋‹ค.
์—ฌ๋Ÿฌ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.
์ฝ”๋“œ ์ปค๋ฐ‹ ์ด๋ ฅ์„ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์›๋ณธ ์ €์žฅ์†Œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์†Œ์ˆ˜์ธ์› ์ž‘์—… ์‹œ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
์›๋ณธ ์ €์žฅ์†Œ์˜ ์ด๋ ฅ์„ ๋ณด๋ ค๋ฉด ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
ใ…ค
๋ถˆํŠน์ • ๋‹ค์ˆ˜์˜ ์‚ฌ๋žŒ์˜ ์ž‘์—… ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
ย