[CodeLion] Git & Github ๐Ÿฆ

์ˆฉ๋”ฉยท2022๋…„ 3์›” 31์ผ
0
post-thumbnail

Git๊ณผ Github

01. Git ๊ณผ Github๋ฅผ ์“ฐ๋Š” ์ด์œ 

  • ์–ธ์ œ ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋๋Š”์ง€ ์•Œ๊ณ ์‹ถ์„ ๋•?
  • ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์„ ๋•?
  • ์‹ค์ˆ˜๋กœ ํŒŒ์ผ์„ ์‚ญ์ œํ–ˆ์„ ๋•?
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์„ ๋•?

์ด ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
1. ์šฉ๋Ÿ‰ 2. ํ˜‘์—… 3. ๊ด€๋ฆฌ
๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ ๋ถ„์‚ฐ๋ฒ„์ „๊ด€๋ฆฌ ํˆด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

01-1. ๊ธฐ๋ณธ ๊ฐœ๋…

Git : ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ํˆด
GitHub : Git์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค
(์ฆ‰, Git์„ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ณต๊ฐ„์ด GitHub)


์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅํ•ด๋‘๊ณ , ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, ์ฝ”๋“œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ์ด๋‹ค.

02. Github

GUI (Graphic User Interface)
ํ”„๋กœ์ ํŠธ์— ๋ฐ์‹œ๋ณด๋“œ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉ๋„ ๊ฐ€๋Šฅ! (๋…ธ์…˜์˜ ๋ณด๋“œ ๊ธฐ๋Šฅ)

02-1. Repository ์ƒ์„ฑํ•˜๊ธฐ

  1. Repository name ์„ค์ •
  2. Public or Private ์„ ํƒ

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

  • history** -> push ๋‚ด์—ญ ์ „๋ถ€ ๋ณผ ์ˆ˜ ์žˆ์Œ

github.com ์„ github.dev๋กœ ๋ฐ”๊ฟ”์„œ ๋“ค์–ด๊ฐ€๋ณด๋ฉด
(or ์ˆ˜์ •ํ•˜๋ ค๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ™”๋ฉด ๋ณด์ด๊ฒŒ ํ•˜๊ณ  . ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ dev์ฃผ์†Œ๋กœ ๋ฐ”๋€œ!)
์›นํŽ˜์ด์ง€์—์„œ vscode ๊ฐ€ ๋œฌ๋‹ค

  • Read Me ๋Š” ๋งˆํฌ๋‹ค์šด ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•จ!

  • ์ด ํŽ˜์ด์ง€๋Š” ctrl + s ๋กœ ์ €์žฅ์ด ์•ˆ๋จ!
  • ์ž‘์„ฑ ํ›„์—๋Š” ์„ธ๋ฒˆ์งธ ์•„์ด์ฝ˜ ๋ˆ„๋ฅด๊ณ 
    ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑ ํ›„,
    ์œ„ ์ฒดํฌ ์•„์ด์ฝ˜(push&commit) ํด๋ฆญ!

02-3. ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

<index.html>

  • ๋Œ€๋ฌธ ํŽ˜์ด์ง€
  • ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์›น ์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธํ•˜๋“ฏ์ด ๋ฐฉ๋ฌธํ•˜๋„๋ก ํ•˜๋Š” ํŽ˜์ด์ง€

Setting -> Pages -> main-> save -> ๋‚˜์˜ ํŽ˜์ด์ง€ ์ƒ์„ฑ ์™„!
(private์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ํŽ˜์ด์ง€ ์ƒ์„ฑ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค!)

  • ์ฃผ์†Œ๋ณด๋ฉด ๋‚ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ํŽ˜์ด์ง€๊ฐ€ ์ƒ๊ธด๊ฒŒ ๋ณด์ž„
    (waterbinnn.github.io/testrepo/)

๐Ÿคš ์—ฌ๊ธฐ์„œ ์ž ๊น!

[Main branch]
git ์˜ ๋ฉ”์ธ ๋ธŒ๋Ÿฐ์น˜ = master
github ์˜ ๋ฉ”์ธ ๋ธŒ๋Ÿฐ์น˜ = main

[ํŽ˜์ด์ง€ ์ƒ์„ฑ์—†์ด ํŽ˜์ด์ง€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•]
์•„์ด๋””.github.io/๋ ˆํฌ๋ช…/๋ณด์—ฌ์ฃผ๊ณ ํ”ˆ html ๋ฌธ์„œ๊ฐ€ ์žˆ๋Š”๊ณณ ์œ„์น˜/๋ณด์—ฌ์ค„๋ฌธ์„œ.html

- Repository ๋‚ด ํ•˜์œ„ํด๋” ์ƒ์„ฑํ•˜๊ธฐ

์‚ฌ์ดํŠธ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ˆ˜์ •์„ ํ•ด๋ณด์ž

  • Code -> Add File -> Create new file
  • about/index.html ์ด๋Ÿฐ์‹์œผ๋กœ ํด๋”๊ณผ ํŒŒ์ผ ์—ฌ๋Ÿฟ ์ƒ์„ฑ
    (๋‚ด์šฉ ์ž‘์„ฑ๋„ ํ•ด์คŒ)
  • ํŽ˜์ด์ง€์—์„œ ๋งํฌ ํด๋ฆญํ–ˆ์„ ๋•Œ ํŽ˜์ด์ง€ ์ด๋™์œ„ํ•ด
    dev๋กœ(vscode) ๋‹ค์‹œ ๋“ค์–ด์™€์„œ
    ๋Œ€ํ‘œ index.html href์— ํŒŒ์ผ ๋งํฌ ๋„ฃ์–ด์คŒ
    (๊ทธ๋ฆฌ๊ณ  ์„ธ๋ฒˆ์งธ ์•„์ด์ฝ˜ ๋ˆŒ๋Ÿฌ์„œ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ ํ›„ ์ฒดํฌ๋ˆŒ๋Ÿฌ ์ €์žฅ)
  • ์—ฌ๊ธฐ์—์„œ About ๋งํฌ ๋ˆ„๋ฅด๋ฉด
  • ์ฃผ์†Œ๊ฐ€ ์ž˜ ์—ฐ๊ฒฐ๋จ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

03. Git

๊นƒ์ด ๋‹ค ์„ค์น˜๋˜์—ˆ๋‹ค๋ฉด
์ผ๋‹จ ์ €์žฅ์†Œ(git-test)๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์ž

$ mkdir git-test
//git-test ๋ฅผ ์ƒ์„ฑ
$ cd git-test
//git-test ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒ ๋‹ค
$ git init

๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋กœ git์„ ์‚ฌ์šฉํ•  ์ค€๋น„ ์™„๋ฃŒ!

๐Ÿคš ์—ฌ๊ธฐ์„œ ์ž ๊น

  • ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๋•Œ Readme ์ž๋™์œผ๋กœ ๋งŒ๋“ค๊ฒŒ๋” ์„ค์ •ํ•˜๋ฉด init ์ด๋Ÿฐ ๊ณผ์ • ์•ˆํ•ด๋„ ๋จ !

03-1. Add & Commit

  • ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด git pull -> git add . -> git commit ->git push ์˜ ๊ณผ์ •์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋น„ํ–‰๊ธฐ์— ๋น—๋Œ€์–ด ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ๋‹ค.
    • git pull : ๊นƒ์œผ๋กœ ๋‚ ๋ฆด ๋น„ํ–‰๊ธฐ๊ฐ€ ์ค€๋น„๋จ
    • git add . : ๋‚ ์•„๊ฐˆ ์š”์†Œ๋“ค์˜ ๋Œ€๊ธฐ์ƒํƒœ
    • git commit : ๋‚ด์šฉ์„ ์‹ฃ์€ ๋น„ํ–‰๊ธฐ๊ฐ€ ๋‚  ์ค€๋น„
    • git push : ๋‚ ๋ ค๋ณด๋ƒ„

(์ถœ์ฒ˜_์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„)

- ํ„ฐ๋ฏธ๋„ ์ž‘์„ฑ๋ฒ•

๐Ÿ“Œ README ๋ฅผ ์ž๋™์ƒ์„ฑ ์•ˆํ–ˆ์„ ๊ฒฝ์šฐ

$ touch README.md
$ git add README.md
$ git commit -m "first commit"

<๋ฆฌ๋“œ๋ฏธ ํŒŒ์ผ์„ ์ƒ์„ฑ(touch), ์ถ”๊ฐ€(add)ํ•˜๊ณ  ์ปค๋ฐ‹(commit)ํ•˜๊ธฐ>

  • touch : ํŒŒ์ผ์— README.MD ์ƒ์„ฑ
touch README.MD
  • add : ์ปค๋ฐ‹์„ ์œ„ํ•ด ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์คŒ
//add . : ์ „์ฒด ํŒŒ์ผ ์ปค๋ฐ‹
$ git add .
//add ํŒŒ์ผ๋ช… : ํ•ด๋‹น ํŒŒ์ผ๋งŒ ์ปค๋ฐ‹
$ git add README.md
  • commit : ์ปค๋ฐ‹๋ฉ”์„ธ์ง€๋ฅผ ์ ์œผ๋ฉฐ ๋ฒ„์ „์„ ๋งŒ๋“ ๋‹ค
$ git commit -m "1 - ๋ฆฌ๋“œ๋ฏธํŒŒ์ผ์ถ”๊ฐ€"

03-2. Git ignore

git ignore ์ž๋™์ƒ์„ฑ๊ธฐ
https://www.toptal.com/developers/gitignore
๋ฏผ๊ฐํ•œ ํŒŒ์ผ, ์•ˆ์˜ฌ๋ ค๋„ ๋˜๋Š” ํŒŒ์ผ๋“ค ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์‚ฌ์ดํŠธ
์ƒ์„ฑํ•˜๊ณ  ๋ณต์‚ฌํ•ด์„œ .gitignore ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค

03-3. ํ˜‘์—…์‹œ ๊นƒํ—™ ์ฃผ์†Œ ๊ฐ€์ ธ์˜ฌ ๋•Œ

๐Ÿคš TIP
์ฃผ์†Œ ๊ฐ€์ ธ์˜ฌ๋•Œ copyํ•˜๊ณ  shift ins ๋ˆ„๋ฅด๋ฉด ์ฃผ์†Œ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋จ(ctrl v๊ฐ€ ์•ˆ๋จ)

  • ์ฃผ์†Œ๋ฅผ ์ด๋ ‡๊ฒŒ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๊ณ 
git clone https://github.com/waterbinnn/testrepo.git
  • ์ฃผ์†Œ ๋’ค์— ๋„์–ด์“ฐ๊ธฐ.
    ํ•˜๋ฉด ์ƒˆ๋กœ์šด ํด๋” ์ƒ์„ฑ ์•ˆํ•˜๊ณ  ๊ทธ ์ž๋ฆฌ์—์„œ ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๊ฐ€ ๋œ๋‹ค (์ด๋ ‡๊ฒŒ ํ•˜๋Š”๊ฒŒ ์ข‹์Œ)
git clone https://github.com/waterbinnn/testrepo.git . 
  • git pull
    : ์ฒ˜์Œ ๊ฐ€์ ธ์˜ฌ๋•Œ๋Š” clone์„ copyํ•ด์คฌ์ง€๋งŒ
    ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” pull๋งŒ ํ•ด์ฃผ์–ด๋„ ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์™€์ค€๋‹ค.
git pull 
git add .
git commit -m ""
git push 

04. README์—†์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑํ–ˆ์„๋•Œ ์ปค๋ฐ‹

์œ„์—์„  repository ๋ฅผ Readme ์ž๋™์ƒ์„ฑํ•ด์„œ ๋งŒ๋“ค์–ด์คฌ์ง€๋งŒ,
์ด๋ฒˆ์—๋Š” Readme ์ž๋™์ƒ์„ฑ ์—†์ด
์ƒˆ๋กœ์šด githubprac ์ด๋ผ๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค.
์ด ํ•˜๋‚˜์˜ ์ฐจ์ด๊ฐ€ ์—„์ฒญ๋‚œ ๋…ธ๊ฐ€๋‹ค๋ฅผ ๊ฐ€์ ธ์˜ด ,,

  • branch๋Š” ๊ธฐ๋Šฅ ํ•˜๋‚˜๋‹น ์ชผ๊ฐœ์ง€๋Š”๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ
    (ํ˜‘์—…ํ• ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ํ˜ผ์ž ์ž‘์—…ํ• ๋•Œ๋Š” main ์œผ๋กœ ํ•˜๋ฉด ๋œ๋‹ค)

๋ฐ์Šคํฌํƒ‘์— ๋นˆํด๋” ๋„ค์ž„์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ 
ํ„ฐ๋ฏธ๋„์„ ์—ด์–ด์„œ ๊นƒํ—™์— ์ ํ˜€์žˆ๋Š”๋Œ€๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค!

  • (์•„๋ž˜ ์ด๋ฏธ์ง€๋Š” ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์„๋•Œ์˜ ํ„ฐ๋ฏธ๋„)

๊ทธ๋Œ€๋กœ ๋”ฐ๋ผ์„œ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ์ปค๋ฐ‹ ์™„๋ฃŒ!

  • README.md ๊ฐ€ ์ž˜ ์ปค๋ฐ‹๋จ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

์ •๋ฆฌํ•ด ๋ณธ ์ฝ”๋“œ

์‹œ์ž‘ํ•˜๊ธฐ: git init
์œ ์ € ์ด๋ฆ„ ์„ค์ •: git config --global user.name ""
์ด๋ฉ”์ผ ๋“ฑ๋ก: git config --global user.email #####@gmail.com
ํŒŒ์ผ ์ถ”๊ฐ€: git add .
๋ฉ”์„ธ์ง€ ์ž…๋ ฅ: git commit -m "first commit"
๋ณด๋‚ผ ๊ณณ ๋“ฑ๋ก: git remote add origin https://github.com/์œ„์น˜/์œ„์น˜.git
๋ณด๋‚ผ ๊ณณ์œผ๋กœ ์ฝ”๋“œ ์ „์†ก: git push origin master


๐Ÿฆ Tips

1. Visual Studio Code ๋ž‘ Git ์—ฐ๋™ํ•˜๋ฉด ํŽธํ•จ
https://www.youtube.com/watch?v=hKhX87L2ydQ
์—ฐ๋™ํ•˜๋ฉด git add ์ด๋Ÿฐ ๊ณผ์ • ์•ˆํ•ด์ฃผ๊ณ  dev์—์„œ ํ•ด์ฃผ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์•„์ด์ฝ˜ ๋ˆŒ๋Ÿฌ์„œ ํ•  ์ˆ˜ ์žˆ์Œ!

2. ์˜ค๋ฅ˜๋‚˜๋ฉด git ๊ฐ•์ œ๋กœ push ํ•ด์ฃผ๊ธฐ
git push origin +main

3. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋™์˜์ƒ ๋ฐฐ์† ์„ค์ •ํ•˜๊ธฐ

document.getElementsByTagName("video")[0].playbackRate = 3;

๋Œ€๋ถ€๋ถ„ 2๋ฐฐ์†๊นŒ์ง€๋งŒ ๊ฐ€๋Šฅํ•œ๋ฐ
์ฝ˜์†”์ฐฝ์— ์ด ์ฝ”๋“œ ์ž…๋ ฅํ•˜๋ฉด ๋” ๋†’์€ ๋ฐฐ์†์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค!

profile
Front-End Developer โœจ

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