๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

GIT&Github

[TIL] Git ๊ณผ Github

๐Ÿ“šINTRO

์ด ๊ธ€์„ ๋ณด๊ณ ๊ณ„์‹œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์€ ๋ชจ๋‘ git, github๋ฅผ ์•Œ๊ณ ๊ณ„์‹œ๊ฒ ์ฃ ?๐Ÿ˜‰

git, github๋Š” ์ฝ”๋”ฉํ•  ๋•Œ ์ ˆ๋Œ€๋กœ ๋น ์งˆ ์ˆ˜ ์—†๋Š” ์„œ๋น„์Šค์ฃ !

์˜ค๋Š˜์€ ์ด ๋‘˜์ด ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฑด์ง€, ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๊ฑด์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค!

 

๐Ÿ”Ž  Git ์„ ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

์ฝ”๋”ฉ์„ ํ•˜๋‹ค๋ณด๋ฉด ์ž‘์—…ํ•˜๋˜ ํŒŒ์ผ์—์„œ ๋ฌด์ˆ˜ํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด์š”

๊ทธ๋Ÿด๋• ์ฐจ๋ผ๋ฆฌ ํŽธ์ง‘ ์ „ ํŒŒ์ผ๋กœ ๋˜๋Œ๋ ค์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์„๊ฑฐ์—์š”!

ํ•˜์ง€๋งŒ, ๊ณ„์† ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•ด๋‘๋Š”๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กญ๊ณ , ํŽธ์ง‘ ์ „ ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด๋‘์ง€ ์•Š์•˜๋‹ค๋ฉด?

cmd + z๋ฅผ ๋ฌดํ•œ๋ฐ˜๋ณตํ•˜๊ฑฐ๋‚˜ ํ•˜๋‚˜์”ฉ ์ฐพ์•„์„œ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ๋”์ฐํ•œ ์ผ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค๐Ÿคฎ๐Ÿคฎ๐Ÿคฎ

ํ•˜์ง€๋งŒ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด? ์†์‰ฝ๊ฒŒ ์ด์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค๐Ÿ‘

 

๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ๊ฐ ๋ฒ„์ „๋ณ„๋กœ ๋ณ€๊ฒฝ๋œ ์ด๋ ฅ์„ ์ €์žฅํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒŒ๋˜๋ฉด ์ด์ „ ๋ฒ„์ „์ด ํ•ญ์ƒ ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ๋“  ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋ฉด ์ฝ”๋ฉ˜ํŠธ ์ž‘์„ฑ์„ ํ†ตํ•ด ์–ด๋–ค ํŒŒ์ผ์ด ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€,

์ž‘์—…์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€๋„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค๐Ÿฅณ

 

Git์€ ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๋ถ„์‚ฐํ˜• ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ž…๋‹ˆ๋‹ค.

๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ , ์›ํ™œํ•œ ํ˜‘์—…์„ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” Git์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค!

 

๐Ÿ”Ž Git๊ณผ Github

Git: ์†Œ์Šค์ฝ”๋“œ ๊ธฐ๋ก์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „๊ด€๋ฆฌ์‹œ์Šคํ…œ

Git hub: Git Repository*๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค

*Git Repository: Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํด๋”.

์›๊ฒฉ์ €์žฅ์†Œ(Remote Repository)์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ(Local Repository) ๋‘ ์ข…๋ฅ˜์˜ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๊ณ ,  

์›๊ฒฉ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ ํ•˜๋ฉด ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

Github๋Š” ๋‚ด ์ปดํ“จํ„ฐ์—์„œ Git์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ฌ๋ ค๋‘˜ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

Git์œผ๋กœ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ํด๋”์— ๋Œ€ํ•ด Github๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”Ž Git ์‚ฌ์šฉ์ „ ์•Œ์•„๋‘๋ฉด ์ข‹์€๊ฒƒ

  • Commit: ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์Šค๋ƒ…์ƒท*์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ.
    *์Šค๋ƒ…์ƒท: ํŠน์ • ์‹œ์ ์— ์ƒ์„ฑ๋œ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ
  • Fork: ๋‹ค๋ฅธ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ์ž‘์—…
  • Clone: ์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…
  • Push: ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ ํ•˜๋Š” ์ž‘์—…
  • Pull: ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋‚ด ๋กœ์ปฌ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…

 

๐Ÿ“š EXTRO

์˜ค๋Š˜์€ git, github์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์—” ์‹ค์ œ๋กœ git์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ• ๊ฒŒ์š”!

๊ฐ™์ด ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์š”๐Ÿฅ•๐Ÿฅ•

ํ˜น์‹œ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋งˆ๊ตฌ๋งˆ๊ตฌ ์ง€์ ํ•ด์ฃผ์„ธ์š”!

๊ณต๋ถ€ํ•˜๋Š” ๊ฐœ๋ฐœ์‹ ์ƒ์•„์—๊ฒŒ ํฐ ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค๐Ÿฅบ

 

๋ณธ ๊ฒŒ์‹œ๋ฌผ์€ ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  ๋ธ”๋ก์ฒด์ธ ๋ถ€ํŠธ์บ ํ”„๋ฅผ ์ˆ˜๊ฐ•ํ•˜๋ฉฐ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๋ฌผ์ž…๋‹ˆ๋‹ค.