๐Ÿ“

4. Github

1. Github๊ฐ€์ž…ํ•˜๊ธฐ

์•„๋ž˜ ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ€ ํšŒ์› ๊ฐ€์ž…์„ ํ•ด์ฃผ์„ธ์š”! ๋ฉ”์ผ์ธ์ฆ๊นŒ์ง€ ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ย 
์›ํ•˜๋Š” ์ด๋ฉ”์ผ์„ ์ž…๋ ฅํ•˜๊ณ  Sign up for GitHub์„ ํด๋ฆญํ•˜์‹  ํ›„ ํšŒ์›๊ฐ€์ž…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 

2. Repository ์ƒ์„ฑ

๋กœ๊ทธ์ธ์ด ๋˜์…จ๋‹ค๋ฉด ์•„๋ž˜ new๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 
๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๊ณ  Public(๊ณต๊ฐœ)/Private(๋น„๊ณต๊ฐœ)๋ฅผ ์„ค์ •ํ•˜์‹  ํ›„, Add a README file์„ ํด๋ฆญํ•˜์—ฌ README file ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด Create Repository๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 

3. Github์— ์˜ฌ๋ฆฌ๊ธฐ

3-1. GUI๋ฅผ ์ด์šฉํ•˜์—ฌ Github์— ์˜ฌ๋ฆฌ๊ธฐ

Add file > Upload File > 001.html
notion imagenotion image
ย 

3-2. CLI๋ฅผ ์ด์šฉํ•˜์—ฌ Github์— ์˜ฌ๋ฆฌ๊ธฐ

์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ ํด๋”์— Github ์›๊ฒฉ ์ €์žฅ์†Œ ์ฃผ์†Œ ์•Œ๋ ค์ฃผ๊ณ (remote add) Github์— main ๋ธŒ๋žœ์น˜์— ์˜ฌ๋ฆฌ๊ธฐ(push)
$ git remote add origin https://github.com/id/filename.git $ git push -u origin main
ย 
notion imagenotion image
notion imagenotion image
ย 
push๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Github์— ์ž˜ ์˜ฌ๋ผ๊ฐ”๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
ย 

4. Push๊ฐ€ ์•ˆ๋  ๋•Œ

push ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋œฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2021๋…„ 8์›” 13์ผ๋ถ€ํ„ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ ์ง€์›์„ ์“ฐ์ง€ ๋ชปํ•˜๋„๋ก ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
remote: support for password authentication was removed on august 13, 2021. please use a personal access token instead.
ย 
๋น„๋ฐ€๋ฒˆํ˜ธ ๋Œ€์‹  token ์ด๋‚˜ ssh ๋‘๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜๋กœ ์ธ์ฆ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

4-1. token ๋ฐœ๊ธ‰ํ•˜๊ธฐ

  1. Github ์ƒ๋‹จ์— ์žˆ๋Š” ๊ฐœ์ธ ํ”„๋กœํ•„์„ ํด๋ฆญํ•œ ํ›„, Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
  1. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ Developer settings > Personal access token > Generate new token์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    1. notion imagenotion image
  1. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ ํ›„, ํ† ํฐ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ ์ด๋ฆ„, ํ—ˆ๊ฐ€ํ•  ๊ถŒํ•œ์„ ์ฒดํฌํ•œ ํ›„์— Generate token์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  1. ์ƒ์„ฑ๋œ ํ† ํฐ์„ ๋ณต์‚ฌํ•˜๊ณ  ํ•„์š”ํ•œ ๊ณณ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํ† ํฐ์€ ํ•œ๋ฒˆ๋งŒ ๋ณด์—ฌ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•œ ๊ณณ์— ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ๋ฐœ๊ธ‰๋œ ํ† ํฐ์€ ๋ถ€์—ฌ๋œ ๊ถŒํ•œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ํ† ํฐ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    1. ์žฌ๋ฐœ๊ธ‰์„ ์›ํ•˜์‹œ๋Š” ๊ฒฝ์šฐ์—๋Š” ์žฌ๋ฐœ๊ธ‰ํ•˜๊ณ ์ž ํ•˜๋Š” ํ† ํฐ์„ ํด๋ฆญ ํ›„, Regenerate token์„ ํด๋ฆญํ•˜๋ฉด ์žฌ์ƒ์„ฑ ๋ฉ๋‹ˆ๋‹ค.
  1. ๋ฐœ๊ธ‰ ์™„๋ฃŒ ํ›„, ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์ ์šฉ์‹œํ‚ต๋‹ˆ๋‹ค.
      • Windows
        • ์ œ์–ดํŒ > ์‚ฌ์šฉ์ž ๊ณ„์ • > ์ž๊ฒฉ ์ฆ๋ช… ๊ด€๋ฆฌ์ž > Windows ์ž๊ฒฉ์ฆ๋ช… > git:https//github.com ์ฐพ๊ธฐ > ํŽธ์ง‘ > ์•”ํ˜ธ๋ฅผ token์œผ๋กœ ๋Œ€์ฒด
      • Mac
        • ํ‚ค์ฒด์ธ ์ ‘๊ทผ > github.com ์ฐพ๊ธฐ > ์•”ํ˜ธ๋ฅผ token์œผ๋กœ ๋Œ€์ฒด
ย 

4-2. SSH Key ์ƒ์„ฑํ•˜๊ธฐ

  1. ssh key๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Github ๊ณ„์ • ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉํ•œ ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    1. $ ssh-keygen -t rsa -C "email@example.com" Enter file in which to save the key (/c/Users/paullab/.ssh/id_rsa): Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. Enter passphrase (empty for no passphrase): github password Enter same passphrase again: github password
  1. ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ณต๊ฐœํ‚ค๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉด ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    1. $ cat ~/.ssh/id_rsa.pub
  1. Github ์ƒ๋‹จ์— ์žˆ๋Š” ๊ฐœ์ธ ํ”„๋กœํ•„์„ ํด๋ฆญํ•œ ํ›„, Settings๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
  1. ์ขŒ์ธก ๋ฉ”๋‰ด์— SSH and GPG keys > New SSH key๋ฅผ ํด๋ฆญํ•˜์—ฌ SSH Key ์ด๋ฆ„๊ณผ Key์— ๋ณต์‚ฌํ•œ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.
  1. SSH Key ๊ณต๊ฐœํ‚ค๊ฐ€ ์ž˜ ๋“ฑ๋ก๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
notion imagenotion image
ย 

5. Git clone

  • ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ฝ”๋“œ๋ฅผ ์ปดํ“จํ„ฐ์— ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ณ (mkdir) ์ด๋™ํ•˜๊ธฐ(cd)
    • $ mkdir filename $ cd filename $ git clone https://github.com/id/clone-filename.git .
      ย 
clone ํ•˜๊ธฐ ์ „clone ํ•˜๊ธฐ ์ „
clone ํ•˜๊ธฐ ์ „
clone ํ•œ ํ›„clone ํ•œ ํ›„
clone ํ•œ ํ›„
ย 
๐Ÿ’ก
ํด๋ก  ์‹œ ์ (.)์„ ์ฐ๋Š” ์ด์œ ๋Š” ํ˜„์žฌ ํด๋”์— ํด๋ก  ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์ (.)์„ ์•ˆ ์ฐ์€ ๊ฒฝ์šฐ ์ƒˆ ํด๋”๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
ย 
  • ๊ถŒํ•œ์ด ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ์—๋Š” ์†Œ์Šค์ฝ”๋“œ ์ˆ˜์ • ํ›„ ์ปค๋ฐ‹๊ณผ ํ‘ธ์‹œํ•˜๊ธฐ
    • $ git status $ git add . $ git commit -m "์ถ”๊ฐ€ ์ž‘์—… ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค." $ git push origin main
ย 
push๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Github์— ์ž˜ ์˜ฌ๋ผ๊ฐ”๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
ย 

6. Git pull

์›๊ฒฉ ์ €์žฅ์†Œ์— ์—…๋ฐ์ดํŠธ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋ณ‘ํ•ฉํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
git pull origin main
ย 
pull ํ•˜๊ธฐ ์ „pull ํ•˜๊ธฐ ์ „
pull ํ•˜๊ธฐ ์ „
pull ํ•œ ํ›„pull ํ•œ ํ›„
pull ํ•œ ํ›„
ย