์ž‘์„ฑ ๋‚ด์šฉ

  1. Git๊ณผ Github ๊ฐœ๋…
  2. ์šฉ์–ด ๊ฐœ๋… ์„ค๋ช…(branch, repository, clone ๋“ฑ)
  3. git ๊ธฐ์ดˆ ๋ช…๋ น์–ด ๋ฐ ์—…๋กœ๋“œ ์˜ˆ์‹œ

1. Git๊ณผ Github

Git(๋น„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ)

  • ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ๋งŒ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ
  • ์ฝ”๋“œ๋ฅผ ์–ธ์ œ ๋ˆ„๊ฐ€ ์–ด๋””๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅ!!
  • ์ฝ”๋“œ๋ฅผ ํ•ฉ์น˜๊ฑฐ๋‚˜, ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Œ

Github(์ฝ”๋“œ ์ €์žฅ์†Œ)

  • Git์œผ๋กœ ๊ด€๋ฆฌํ•œ ์ฝ”๋“œ๋ฅผ push ํ†ตํ•ด์„œ Github์— ์—…๋กœ๋“œ
  • Git: ์ฝ”๋“œ ๊ด€๋ฆฌ
  • Github: ์ฝ”๋“œ ์ €์žฅ

2. ์šฉ์–ด ์ •๋ฆฌ

Repository(์ €์žฅ์†Œ)

  • ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ์ €์žฅ์†Œ๋ฅผ ์˜๋ฏธํ•จ
  • Local Repository : ๊ฐœ์ธ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋œ ๋กœ์ปฌ๋ฒ„์ „์˜ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ
  • Remote Repository: ์›๊ฒฉ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋Š” ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ๋กœ ์—ฌ๋Ÿฌ ๋ช…๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ

Branch(๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„)

  • Repository(์ €์žฅ์†Œ)์˜ ๊ณต๊ฐ„์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„
  • default Branch : ์ค‘์‹ฌ์ด ๋˜๋Š” Branch
  • remote Branch : ์›๊ฒฉ ์ €์žฅ์†Œ(Remote Repository)์— ์žˆ๋Š” Branch

Commit

  • ์—…๋กœ๋“œ ์‹œ ์—…๋ฐ์ดํŠธํ•œ ๋‚ด์šฉ์„ ๊ธฐ์ž…

Origin(์›๊ฒฉ ์ €์žฅ์†Œ)

  • origin : ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„
    • ์˜ˆ) origin/hyunae : ์›๊ฒฉ ์ €์žฅ์†Œ ์•ˆ์— Branch ์ด๋ฆ„ = hyunae
  • HEAD : ํ˜„์žฌ ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„
    • ์˜ˆ) origin/HEAD : ์›๊ฒฉ ์ €์žฅ์†Œ์•ˆ์— ํ˜„์žฌ ์ฝ”๋“œ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•จ

Clone

  • ์›๊ฒฉ ์ €์žฅ์†Œ(Remote Repository)๋กœ๋ถ€ํ„ฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ(Local Repository)๋กœ ๋ณต์ œ

3. Git ์—…๋กœ๋“œ

๊ธฐ์ดˆ ๋ช…๋ น์–ด

  1. ์ดˆ๊ธฐ ์ž‘์—…: ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑ ๋ฐ ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐ
    1. git init: Local ํ™˜๊ฒฝ์— Repository ์ƒ์„ฑ(Remote ํ™˜๊ฒฝ์— Repository๋Š” Github์—์„œ ์ƒ์„ฑ)
    2. git remote add origin <url>: ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ(origin)๋ฅผ1 ์—ฐ๊ฒฐํ•จ
  2. git ์ €์žฅ: push ํ•  ํŒŒ์ผ commit ๋ฐ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ
    1. git add <file> : pushํ•  ํŠน์ • ํŒŒ์ผ์„ commit ํ•จ
    2. git commit -m "<message>": commit์‹œ, ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ
    3. git push -u origin <branch>: ์›๊ฒฉ ์ €์žฅ์†Œ(origin)์˜ ํŠน์ • branch์— ์—…๋กœ๋“œ
  3. ๊ธฐํƒ€
    1. git branch: ํ˜„์žฌ branch ํ™•์ธ
    2. git branch -M <new_branch>: ๊ธฐ์กด branch๋ฅผ ์ƒˆ๋กœ์šด branch๋กœ ๋ณ€๊ฒฝ(์˜ˆ.git branch -M main: branch๋ฅผ main์œผ๋กœ ๋ณ€๊ฒฝํ•จ)
    3. git status: ํ˜„์žฌ git ์ƒํƒœ ํ™•์ธ(commit ํ•œ ํŒŒ์ผ ํ™•์ธ)

git ์—…๋กœ๋“œ

# 1. ์ดˆ๊ธฐ ์ž‘์—…
git init
git remote add origin <url>
 
# 2. git ์ €์žฅ
git add <file>
git commit -m "<message>"
git push -u origin <branch_name>