๐Ÿ“

5. Git & Github

๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ํˆด์ธ git์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์›นํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๊ฐ€ ๋ฐ”๋กœ github์ž…๋‹ˆ๋‹ค. 2008๋…„์— ์„ค๋ฆฝ๋˜์–ด 2018๋…„๋„์— MS๊ฐ€ ์ธ์ˆ˜ํ•˜์˜€์„ ๋งŒํผ ์œ ๋ช…ํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
ย 
"๊นƒํ—™ ์ฃผ์†Œ ์•Œ๋ ค์ฃผ์„ธ์š”."
ย 
์—ฌ๋Ÿฌ๋ถ„์ด ๊ฐœ๋ฐœ ํšŒ์‚ฌ์— ์ทจ์ง์„ ํ•˜์‹œ๊ฑฐ๋‚˜ ์ด๋ ฅ์„œ๋ฅผ ๋‚ด์‹ค ๋•Œ github ์ฃผ์†Œ๋ฅผ ๋Œ€๋ถ€๋ถ„ ๋ฌผ์–ด๋ณธ๋‹ต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ ํ˜‘์—…์„ ์œ„ํ•œ ํ•„์ˆ˜ ํˆด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
ย 
notion imagenotion image
ย 
ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์ด๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ด๋ ‡๊ฒŒ ๊ด€๋ฆฌํ•œ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์šฉ๋Ÿ‰์ด ๋‚ญ๋น„๋ ๊นŒ์š”? ๋˜ ๋‹ค์‹œ ์›๋ž˜์˜ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋Œ์•„๊ฐ€๊ณ  ์‹ถ์„ ๋•Œ์—๋Š”์š”? ์–ธ์ œ ๋ฌด์—‡์ด ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์ฐพ์ฃ ? ์ฝ”๋“œ ๊ณต์œ ๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ์š”? ์นดํ†ก์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๋‚˜์š”? ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
ย 
  1. ์šฉ๋Ÿ‰ : ํŒŒ์ผ์ด N๊ฐœ๋ผ๋ฉด N * ํŒŒ์ผ์šฉ๋Ÿ‰
  1. ํ˜‘์—… : ํŒŒ์ผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ, ๋ˆ„๊ฐ€ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ์–ผ๋งˆ๋งŒํผ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€
  1. ๊ด€๋ฆฌ : ์›ํ•˜๋Š” Version์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ, Code ํ”ผ๋“œ๋ฐฑ๊ณผ ๋ฆฌ๋ทฐ
ย 
github์€ ์ด ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
ย 

ย 
์ผ๋‹จ Github(๊นƒํ—ˆ๋ธŒ)๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด Git(๊นƒ)์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. Git์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ ์ค‘ ๊ฐ€์žฅ ์„ ํ˜ธ๋„๊ฐ€ ๋†’์€ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
Git์€ ๋กœ์ปฌ ์ €์žฅ์†Œ(๋‚ด ์ปดํ“จํ„ฐ)์™€ ์›๊ฒฉ ์ €์žฅ์†Œ(์„œ๋ฒ„ ์ปดํ“จํ„ฐ)๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์ž‘์„ฑํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅํ•ด๋‘๊ณ , ๋งŒ์•ฝ ๋‚ด ์ปดํ“จํ„ฐ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์†์ƒ๋˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ฝ”๋“œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Git์ด "๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ"๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.
ย 
notion imagenotion image
ย 
์ด๋ ‡๋“ฏ Git์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ๋Š” ์ฝ”๋“œ์˜ ์›๋ณธ์ด๋‚˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์ €์žฅํ•˜๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ Git์˜ ์›๊ฒฉ ์ €์žฅ์†Œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ ์ค‘ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฒƒ์ด GitHub์ž…๋‹ˆ๋‹ค.
GitHub๊ฐ€ ๋‹จ์ˆœํžˆ ์ €์žฅ์†Œ ์—ญํ• ๋งŒ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. GitHub๋Š” ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์˜ ๊ฑฐ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ๋Š” ๋ฌผ๋ก  ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์˜ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์ด์Šˆ(issue)๋ฅผ ์ œ๊ธฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›ํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ ์ด์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜์ • ๋ฐ ๋ฐœ์ „ ์‹œํ‚ค๋Š” ๋ฐ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌ(contribution)ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ๋ธ”๋กœ๊ทธ๋กœ๋„ Github์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ธ€์„ ์“ฐ๋Š”๋ฐ ๋ชจ๋“  ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค์ด ๊ฐ–์ถฐ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.