Git & Github

๋ฑ…๊ธฐ๋ฑ…๊ทœยท2022๋…„ 4์›” 6์ผ
0

๐Ÿš€ ํ•™์Šต ๋ชฉํ‘œ

  1. Git์ด ๋ฌด์—‡์ด๊ณ  ์™œ ํ•„์š”ํ•œ์ง€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. Github๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ํ•ด๋‹น ๊ฐœ๋…์„ Git๊ณผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ํ„ฐ๋ฏธ๋„ ์ƒ์—์„œ Git์˜ init, add, status, commit, log, push ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. Github์— Repository๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž์‹ ์˜ Git ํ”„๋กœ์ ํŠธ๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค

Git์ด๋ž€?

Git์˜ ๊ณต์‹ ๋ช…์นญ์€ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (VCS) ์ž…๋‹ˆ๋‹ค.
์‰ฝ๊ฒŒ ๋งํ•ด, ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๊ณ , ํŠน์ • ์‹œ์ ์˜ ๋ฒ„์ „์œผ๋กœ ์–ธ์ œ๋“  ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํšจ์œจ์ ์œผ๋กœ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ˜‘์—…ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์‹ ๋งŒ์˜ ํ”„๋กœ์ ํŠธ ๋ฒ„์ „์„ ๋ณธ์ธ ์ปดํ“จํ„ฐ์— ๊ฐ–๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์ด๋Ÿฌํ•œ ๊ฐœ๋ณ„ ๋ฒ„์ „์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ๊ธฐ์ค€์ด ๋˜๋Š” ๋ฒ„์ „์˜ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
Git์€ ๊ฐœ์ธ ํ˜น์€ ํŒ€ ๊ฐ„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ํˆด์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Git์„ ๋‹ค๋ฃฐ ์ค„ ์•„๋Š” ๊ฒƒ์€ ์š”์ฆ˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

Github๋ž€?

์•ž์„œ ๋‚˜์˜จ ๋‚ด์šฉ์ธ Git์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜จ๋ผ์ธ ๋„๊ตฌ๋กœ์จ, Git์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ์ €์žฅ์†Œ ํ˜ธ์ŠคํŠธ์˜ ์—ญํ• ์„ ํ•œ๋‹ค.

Git vs Github

Git์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์˜ ์†์„ ๊ฑฐ์น˜๋Š” ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ๊ฐ™์€ ๊ฒƒ์—์„œ ๋ˆ„๊ฐ€ ์–ด๋– ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž…๋ ฅํ–ˆ๋Š”๊ฐ€๋ฅผ ์ถ”์ ํ•˜๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ์ด๊ณ , Github๋Š” ๊ทธ๊ฒƒ์„ ํ˜ธ์ŠคํŒ…ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

Git์˜ ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด

  • git init: git์„ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด
  • git add: ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ช…๋ น์–ด
  • git status: ํŒŒ์ผ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด
  • git commit -m "commit message": ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๊ณ  ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด
  • git log: ํ˜„์žฌ ์œ„์น˜ํ•œ ๋ธŒ๋žœ์น˜ ์ปค๋ฐ‹ ๋‚ด์šฉ ํ™•์ธ๊ณผ ์‹๋ณ„์ž ๋ถ€์—ฌํ•˜๋Š” ๋ช…๋ น์–ด
  • git push origin "branch name": ๋งŒ๋“ค์–ด์ง„ ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ์„œ๋ฒ„์— ์ „์†ก

Github์— Repository ์ƒ์„ฑ๊ณผ ํ”„๋กœ์ ํŠธ ์—…๋กœ๋“œ

  1. https://github.com/์— ๋“ค์–ด๊ฐ€์„œ ๋กœ๊ทธ์ธ ํ›„ ์šฐ์ธก ์ƒ๋‹จ์˜ ์ข…๋ชจ์–‘๊ณผ ํ”„๋กœํ•„ ์‚ฌ์ด์˜ ๋”ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
  2. ๊ทธ ์•ˆ์˜ New repository๋กœ ๋“ค์–ด๊ฐ„๋‹ค.
  3. Repository name ์„น์…˜์— ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” repository์˜ ์ด๋ฆ„์„ ์ •ํ•œ๋‹ค.
  4. ๊ทธ ์™ธ ๋‹ค๋ฅธ ์„ค์ •๋“ค์€ ํ•„์š”์— ๋”ฐ๋ผ ํ•œ ํ›„, ๊ฐ€์žฅ ๋ฐ‘์— ์žˆ๋Š” Create Repository๋ฅผ ๋ˆ„๋ฅธ๋‹ค.
  5. ๊ทธ ํ›„์— ๋‚˜์˜ค๋Š” HTTPS์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , ํ„ฐ๋ฏธ๋„์— git remote add origin๋’ค์— ์ด ์ฃผ์†Œ๋ฅผ ๋ถ™์ธ๋‹ค.
  6. ํ„ฐ๋ฏธ๋„ ๋‚ด์—์„œ branch๋ฅผ ๋งŒ๋“ค๊ณ  master์—์„œ ์ž‘์—…ํ•ด์•ผํ•˜๋Š” directory๋กœ ์ด๋™์„ ํ•ด์„œ ์ž‘์—…ํ•  ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ๋‹ค(git checkout์ด์šฉ).
  7. git push origin "directory name"์œผ๋กœ ์›๊ฒฉ์„œ๋ฒ„์— ์ˆ˜์ •๋ณธ์„ ์ „๋‹ฌํ•œ๋‹ค.
  8. PR์„ ์ž‘์„ฑํ•˜์—ฌ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ˆ˜์ •๋œ ๋‚ด์šฉ์˜ ๊ธฐ๋Šฅ์„ ์„ค๋ช…ํ•˜๋Š” ์„œ๋ฅ˜๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  9. ๊ด€๋ฆฌ์ž์— ์˜ํ•ด์„œ ์Šน์ธ๋˜๋ฉด Master์„œ๋ฒ„์—์„œ merge๊ฐ€ ๋œ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€