Unit12 - Cozโ€™ Mini Hackathon

์˜ˆ์ง„ยท2022๋…„ 9์›” 18์ผ
0

๐Ÿ”ฅ Git์œผ๋กœ ํ˜‘์—…ํ•˜๊ธฐ

1. Local Git repository (๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ)

repository(๋ฆฌํฌ์ง€ํ† ๋ฆฌ) : git์—์„œ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

Local Repository(๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ)
: ์ž์‹ ์˜ ์ปดํ“จํ„ฐ์˜ ์ž‘์—… ๊ณต๊ฐ„(local)์— ์œ„์น˜ํ•œ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ - ๋‚ด ๊ฐœ์ธ ์ „์šฉ ์ €์žฅ์†Œ

๋กœ์ปฌ ํ™˜๊ฒฝ์— ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ Local Repository๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Local Repository ๋งŒ๋“ค๊ธฐ

git init : ์ž‘์—… ๊ณต๊ฐ„์— local repository ์ƒ์„ฑ

git add : Untracked files๋ฅผ Statging area๋กœ ์ถ”๊ฐ€ํ•ด์„œ Git์˜ ๊ด€๋ฆฌํ•˜์— ๋‘”๋‹ค.
Staging area : commit ํ•˜๊ธฐ ์ „์— ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๋Š” ์žฅ์†Œ
( git add . : Statging area์— ๋ชจ๋“  ํŒŒ์ผ์„ ํ•œ๋ฒˆ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. )

git staus : ํŒŒ์ผ์˜ ์ƒํƒœ ํ™•์ธ (Statging area๋กœ ์ž˜ ์˜ฎ๊ฒจ์กŒ๋Š”์ง€)

  • ํŒŒ์ผ๋ช… ๋นจ๊ฐ„์ƒ‰ => ์˜ฎ๊ฒจ์ง€์ง€ ์•Š์Œ
  • ํŒŒ์ผ๋ช… ์ดˆ๋ก์ƒ‰ => ์˜ฎ๊ฒจ์ง

- git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ git status ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ

git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํŒŒ์•…ํ•˜๊ธฐ

git commit : Staging area์˜ ์ฝ”๋“œ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ธฐ๋กœ ํ•˜๊ณ , Staging area ์ฝ”๋“œ์˜ ์šฉ๋„๋ฅผ ์ ์–ด์ฃผ๋Š” ํ–‰์œ„

git commit -m "commit message"

  • commit ํ•˜๊ธฐ ์ „์— git status๋กœ Staging area์˜ ์ƒํƒœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ
  • commit ์ž‘์€ ๋‹จ์œ„๋กœ ์ž์ฃผ, commit ๋ฉ”์‹œ์ง€๋Š” ์งง๊ณ  ๊ฐ„๊ฒฐํ•˜๊ณ  ์‚ฌ์‹ค์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ

2. Remote Git repository (์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ)

Remote Repository(์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ)
: ๋กœ์ปฌ์ด ์•„๋‹Œ ์›๊ฒฉ ๊ณต๊ฐ„์— ์œ„์น˜ํ•œ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ - ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ๊ณต์œ  ๊ฐ€๋Šฅ

์›๊ฒฉ Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‹ค๋ฃจ๊ธฐ

  1. Github ์—์„œ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ
  2. ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ git url ๋“ฑ๋ก git remote add
  3. ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ธฐ๋กํ•œ ๋‚ด์—ญ์„ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— push git push

์ƒˆ๋กœ์šด Github repository ๋งŒ๋“ค๊ธฐ

Local์—์„œ ๋ณ€๊ฒฝ, ์ปค๋ฐ‹๋œ ์‚ฌํ•ญ์„ Remote Repository์— ์—…๋กœ๋“œ
์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ๋กœ ์ด๋™ -> ์›ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„ ์ž…๋ ฅ, Public/Private ์ฒดํฌ ํ›„ Create Repository

git remote : ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด
git remote -v : ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์ž˜ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
git remote add name URL : ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ช…๋ ์–ด
( ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฆ„ ์ง€์ •, ์ด๋ฆ„ ๋’ค์— ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ ์ž‘์„ฑ )

  • name : ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋Œ€์‹ ํ•  ์ด๋ฆ„ (ex. orgin)
  • URL : ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ (ex. https://github.com/yejin32/test.git )

git push : ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ธฐ๋กํ•œ ๋‚ด์—ญ์„ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…
git push remote branch

  • branch : ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ์ž…๋ ฅ

3. forkํ•˜๊ธฐ

๊ธฐ์กด์˜ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ์ ํŠธ์— ๋ณ€ํ™”๋ฅผ ์ฃผ๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์‹œ๋„ํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ

pork ํ›„ ์ž์‹ ์˜ ์ปดํ“จํ„ฐ์˜ ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ git cloneํ•ด ๋”ฐ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

  • public ํ”„๋กœ์ ํŠธ์— ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์š”์ฒญ (push & pull request)

Github ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ pork -> ์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ ์•„์ด๋”” ์„ ํƒ ํ›„ Create fork -> git clone ์ง„ํ–‰


๐Ÿ”ฅ ๋‚˜๋งŒ์˜ ์•„๊ณ ๋ผ ์Šคํ…Œ์ด์ธ  ๋งŒ๋“ค๊ธฐ

github repository

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