Skip to content

Latest commit

ย 

History

History
102 lines (87 loc) ยท 4.64 KB

File metadata and controls

102 lines (87 loc) ยท 4.64 KB

git๊ณผ github์ด๋ž€?

  • git : ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ. ์ž์‹ ์ด ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ํ…์ŠคํŠธ ๋ช…๋ น์–ด ์ž…๋ ฅ ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

  • github :ย git ๋ฐ์ดํ„ฐ๋ฅผ ์˜จ๋ผ์ธ์— ์ €์žฅํ•ด ์ฃผ๋Š” ์‚ฌ์ดํŠธ. ๊ฐ„ํŽธํ•œ ๊ทธ๋ž˜ํ”ฝ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค(GUI)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ž์‹ ์ด ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ๊ณต์œ ํ•˜์—ฌ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ๋ฒ„์ „๊ด€๋ฆฌ? git์€ ์™œ ์“ฐ๋Š”๊ฑธ๊นŒ์š”?

git์€ ์ด์ „ ๊ธฐ๋ก๊ณผ ๋‹ฌ๋ผ์ง„ ๋ถ€๋ถ„๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด v 1.0์„ ๊ฐœ๋ฐœํ–ˆ๊ณ , v 1.1์„ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์ธ๋ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ v 1.0๊ณผ v 1.1์—์„œ ๋‹ฌ๋ผ์ง„ ๋ถ€๋ถ„๋“ค์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๋ฅผ ์ฐพ๊ธฐ ์‰ฝ๊ฒ ์ฃ ? ๋˜ํ•œ ์—๋Ÿฌ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค๊ณ  ํ•ด๋„ v 1.0์œผ๋กœ ๋˜๋Œ์•„ ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด git์ž…๋‹ˆ๋‹ค. github์€ ์ด๋Ÿฌํ•œ git์˜ ๊ธฐ๋Šฅ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก GUI๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ์ด๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํ˜‘์—…์ด ์‰ฝ๊ฒŒ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

github ๊ฐ€์ž…ํ•˜๊ธฐ

repository ์ƒ์„ฑํ•˜๊ธฐ

  • ์šฐ์ธก ์ƒ๋‹จ + > New repository
  • repository name, Description ์ž‘์„ฑ
  • Public(๊ณต๊ฐœ)์œผ๋กœ ์„ค์ •
  • HTTPS url ๋ณต์‚ฌ

๐Ÿ’ก Add a README file์„ ์ฒดํฌํ–ˆ๋‹ค๋ฉด?

  • $ git clone [HTTPS url] ์„ ํ•ด์ฃผ๋ฉด repository ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ๋กœ์ปฌ์— ์ƒ๊น๋‹ˆ๋‹ค.
  • git init, remote ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ git add, commit๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. - HTTPS url์€ ์ดˆ๋ก์ƒ‰ Code ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ณ  VS Code ์‹คํ–‰

git ์‚ฌ์šฉ

git config

  • git ๊ณ„์ •์„ ๋“ฑ๋ก
$ git config --global user.name "[name]"
$ git config --global user.email "[email]"

๐Ÿ’ก --global์„ ๋ถ™์ด๋ฉด ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ์ ์šฉ, ๋นผ๋ฉด ํ”„๋กœ์ ํŠธ ๋ณ„๋กœ ์„ค์ • ๊ฐ€๋Šฅ

๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

  • ์ž‘์—…ํ•  ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ํด๋”๋กœ ์ด๋™
$ cd [ํ”„๋กœ์ ํŠธ ์ด๋ฆ„]

๐Ÿ’ก cd (change directory)

  • cd .. : ์ƒ์œ„ ํด๋”๋กœ ์ด๋™
  • ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋‹ค๊ฐ€ tab์„ ๋ˆ„๋ฅด๋ฉด ์ž๋™์™„์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. (ํ˜„์žฌ๊นŒ์ง€ ์ž…๋ ฅํ•œ ์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์œ ์ผํ•  ๋•Œ)

REAME.md ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • commit, push๋ฅผ ํ•ด๋ด์•ผ ํ•˜๋Š”๋ฐ ์•„์ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํŒŒ์ผ์ด ์—†์œผ๋ฏ€๋กœ README.md ํŒŒ์ผ์— '#sns-project'์ด๋ผ๋Š” ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด๋ด…์‹œ๋‹ค.
$ echo "# sns-project" >> README.md

๐Ÿ’ก echo

  • ํ™”๋ฉด์— ํ…์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด
  • "" ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ >> ๋’ค์— ์žˆ๋Š” ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • README.md ๋ผ๋Š” ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ƒ์„ฑ๋˜๊ณ  ํ…์ŠคํŠธ๊ฐ€ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.
  • ">>" ๋Œ€์‹  ">"๋ฅผ ์“ฐ๋ฉด ๊ธฐ์กด์— ์žˆ๋˜ ํŒŒ์ผ์ผ ๊ฒฝ์šฐ ๋‚ด์šฉ์ด ๋ฎ์–ด์“ฐ๊ธฐ ๋ฉ๋‹ˆ๋‹ค.

git init

  • ์ƒˆ๋กœ์šด Git ์ €์žฅ์†Œ(repository)๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ (์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ)
  • ์ฆ‰, ๊ฐ๊ฐ์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๋งˆ๋‹ค ์ฒ˜์Œ ํ•œ ๋ฒˆ๋งŒ ํ•ด์ฃผ๋ฉด ๋จ
$ git init

git add

  • ์ €์žฅํ•  ํŒŒ์ผ์„ ์„ ํƒํ•˜๋Š” ๊ณผ์ •
  • staging area๋กœ ํŒŒ์ผ์„ ์˜ฎ๊ธด๋‹ค.
$ git add .
  • ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์˜ฎ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ : git add [ํŒŒ์ผ์ด๋ฆ„1] [ํŒŒ์ผ์ด๋ฆ„2] [ํŒŒ์ผ์ด๋ฆ„3]
  • ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ํŒŒ์ผ์„ ์˜ฎ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ:ย  git add .

git commit

  • staging area์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ €์žฅ
  • local repository(์ž์‹ ์ด ์ž‘์—…ํ•˜๋Š” ํ™˜๊ฒฝ)์— ์ €์žฅ๋œ๋‹ค.
  • ์ฆ‰, ์•„์ง github์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์€, ์ž์‹ ๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ
$ git commit -m "commit message"

git remote

  • repository ์—ฐ๊ฒฐ
  • commitํ•œ ๋‚ด์šฉ์„ remote repository(githhub)๋กœ pushํ•ด์•ผํ•˜๋Š”๋ฐ, ์–ด๋–ค github repository๋กœ ๋ณด๋‚ผ ๊ฒƒ์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ณผ์ •
$ git remote add origin [HTTPS url]
  • ์ด url(repository)์„ 'origin'์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค๋Š” ์˜๋ฏธ (๊ด€๋ก€์  origin ์‚ฌ์šฉ)

git push

  • remote repository์œผ๋กœ ์˜ฌ๋ฆผ
  • ์ด ๊ณผ์ •์„ ๋งˆ์น˜๋ฉด github์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅ
$ git push origin main

๐Ÿ’ก main? master?

repository๋ฅผ ์ƒ์„ฑํ•˜๋ฉด default branch ํ•˜๋‚˜๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ default branch๊ฐ€ master์—์„œ main์œผ๋กœ ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.(master)๋ผ๋ฉด master๋กœ, (main)์ด๋ผ๋ฉด main์œผ๋กœ pushํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

main์œผ๋กœ branch name ๋ณ€๊ฒฝํ•˜๊ธฐ

  • github์—์„œ main์œผ๋กœ ๋ณ€๊ฒฝํ•œ ์‚ฌํ•ญ์ด๊ณ , ํ˜ผ๋™์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด main ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  1. repository ์ดˆ๊ธฐ ํ™”๋ฉด์˜ 'master'๋ผ๊ณ  ๋˜์–ด์žˆ๋Š” ๋ฒ„ํŠผ ํด๋ฆญ
  2. view all branches ํด๋ฆญ
  3. ์ด๋ฆ„ main ์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ  rename branch ์ž…๋ ฅ
  4. ๋ณ€๊ฒฝํ•˜๊ณ  ๋œจ๋Š” ๋ฉ”์„ธ์ง€์— ๋‚˜์˜ค๋Š” ๋ช…๋ น์–ด๋ฅผ ๋ณต์‚ฌํ•ด VS Code์— ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, repository๋ฅผ ์ง€์šฐ๊ณ  clone ํ•˜๊ธฐ