Day2_220329_Git(2)

3862 ๋‹จ์–ด gitgit

Summary

  • Git Process Flow
  • ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€ (clone, init)
  • Commit Message Prefix
  • ์ปค๋ฐ‹์˜ ๋‹จ์œ„

Daily Tutorial

1. How to start project - git clone

1-1. git clone

  1. Github์—์„œ README.md ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด first-repo๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. ์ƒ์„ฑํ•œ repo์˜ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , Local์˜ dev ๋””๋ ‰ํ† ๋ฆฌ์— cloneํ•œ๋‹ค.
git clone URL

1-2. git add + commit + push

  1. README.md์„ ํŽธ์ง‘ํ•œ๋‹ค.
  2. ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค.
git status
  1. README.md ํŒŒ์ผ์„ staging ํ•œ๋‹ค.
git add README.md
  1. README.md ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•œ๋‹ค.
    ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” -m ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€๊ธ‰์  ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  vim์œผ๋กœ ์ž‘์„ฑํ•˜๋„๋ก ํ•œ๋‹ค.
git commit
  1. README.md ํŒŒ์ผ์„ Github์— push ํ•œ๋‹ค.
    ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•˜๋Š” ํŒ์—…์ด ๋œฌ๋‹ค๋ฉด, Github์—์„œ "Settings"-"Developer Settings"-"Personal Access Tokens" ๋ฉ”๋‰ด์—์„œ "Generate new token"์œผ๋กœ ํ† ํฐ์„ ์ƒ์„ฑํ•ด ํŒจ์Šค์›Œ๋“œ๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.
git push origin main
  1. Github์—์„œ push ๋œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

2. How to start project - git init

2-1. git init

  1. ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹Œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋Š” git ๋ช…๋ น์–ด๊ฐ€ ๋“ฃ์ง€ ์•Š๋Š”๋‹ค.
    Local ์ €์žฅ์†Œ๋กœ ์„ ์–ธํ•ด์ฃผ๊ณ , git ๋ช…๋ น์–ด๊ฐ€ ์ธ์‹๋จ์„ ํ™•์ธํ•œ๋‹ค.
//์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉ
//ํ˜น์‹œ๋‚˜ ์‚ฌ์šฉ์ž ์ตœ์ƒ์œ„ ํด๋”(~)์—์„œ ์ž…๋ ฅํ–ˆ๋‹ค๋ฉด ํฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค
//์ด๋ฏธ ์ €์งˆ๋ €๋‹ค๋ฉด .git ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•ด์ค„ ๊ฒƒ

git init
  1. Github์—์„œ ๋ชจ๋“  ์˜ต์…˜์„ ์„ ํƒํ•˜์ง€ ์•Š๊ณ  second-repo๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. second-repo์˜ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , Local ์ €์žฅ์†Œ ๋””๋ ‰ํ† ๋ฆฌ์™€ ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.
git remote add origin URL
  1. README.md๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
touch README.md

2-2. git add + commit + push

  1. ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค.
    ๋””ํดํŠธ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด master(git๊ตฌ๋ฒ„์ „)๋ผ๋ฉด main(gitํ˜„๋ฒ„์ „)์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค.
git status
git branch -M main 	//๋ธŒ๋žœ์น˜๊ฐ€ master์ผ ๊ฒฝ์šฐ
  1. README.md๋ฅผ add, commit, push ํ•œ๋‹ค.
    push ์‹œ -u ์˜ต์…˜์œผ๋กœ Local๋””ํดํŠธ๋ธŒ๋žœ์น˜์™€ Remote๋””ํดํŠธ๋ธŒ๋žœ์น˜๋ฅผ ์ผ์น˜์‹œ์ผœ ์ค€๋‹ค.
git add README.md
git commit
git push -u mask main	//local.main์„ mask.main์œผ๋กœ

3. TIL repo

  1. Github์—์„œ TIL repo๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    repo name: TIL
    description: Today I Learned..
    Add README.md
  2. Local์— cloneํ•˜๊ณ  ๋ฐฐ์šด ๋‚ด์šฉ์„ md๋กœ ์ž‘์„ฑํ•œ๋‹ค.

Notes

1. README.md

README.md๋Š” repo์˜ ์ •๋ณด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํŒŒ์ผ์ด๋ฉฐ, ์ฒซ ์‹œ์ž‘์€ ๋ณดํ†ต repo์˜ ์ œ๋ชฉ์„ ์จ์ค€๋‹ค.
ํ”„๋กœ์ ํŠธ์™€ repo๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฑ…์˜ ํ‘œ์ง€์™€ ๊ฐ™์€ ๋ฌธ์„œ์ด์ž,
๋‚˜์™€ ๋™๋ฃŒ, repo์˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋ฌธ์„œ.
์ž˜๋œ ์˜ˆ์‹œ๋Š” Github์˜ angular ํ”„๋กœ์ ํŠธ ๋ฐฉ๋ฌธํ•ด๋ณผ ๊ฒƒ.

2. Commit Message Prefix

์ปค๋ฐ‹ ์ œ๋ชฉ์€ 50์ž ์ด๋‚ด, ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ ์‚ฌ์ด ํ•œ ์นธ ๊ฐœํ–‰ํ•  ๊ฒƒ.
prefix๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฐ‹ ์šฉ๋„ ๋ช…์‹œํ•œ๋‹ค.

  • docs : ๋ฌธ์„œํ™” ์ž‘์—…
  • feat : ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
  • conf : ํ™˜๊ฒฝ ์„ค์ •
  • fix : ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜ ๊ฐœ์„ , ๋ฒ„๊ทธ ํŒจ์น˜, ์˜คํƒ€ ์ˆ˜์ •
  • refactor : ์ •์ƒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ฝ”๋“œ ๊ฐœ์„ 

3. origin

git remote ๋ช…๋ น์„ ์น˜๋ฉด origin ์ด๋ผ๋Š” ๋ณ„๋ช…์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ด๊ฒƒ์€ git remote -v ๋ช…๋ น ์‹œ ๋ณด์—ฌ์ง€๋Š” URL์˜ alias ์ด๋‹ค.
์›๊ฒฉ ์ €์žฅ์†Œ ๋ณ„๋ช…์€ ๋ณดํ†ต origin ์œผ๋กœ ์“ฐ์ง€๋งŒ, ์–ด๋–ค๊ฑธ ์จ๋„ ์ƒ๊ด€ ์—†๋‹ค.

4. git push -u

git clone ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋งค์นญ์ด ๋˜์ง€๋งŒ,
git init ์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด push ํ•  ๋•Œ 2๊ฐ€์ง€๋ฅผ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.
local์—์„œ remote์˜ ๋ณ„๋ช…๊ณผ URL ๋งค์นญ,
local์—์„œ ๋””ํดํŠธ๋ธŒ๋žœ์น˜์™€ remote์˜ ๋””ํดํŠธ๋ธŒ๋žœ์น˜ ๋งค์นญ.

5. ์ปค๋ฐ‹์˜ ๋‹จ์œ„

์ปค๋ฐ‹ ๋‹จ์œ„, ์ž‘์—… ์‚ฌํ•ญ์„ ์–ด๋–ป๊ฒŒ ์ž๋ฅผ ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ์ถฉ๋ถ„ํžˆ ํ•ด๋ณผ ๊ฒƒ.
๋‚˜๋ฆ„์˜ ํƒ€๋‹นํ•œ ์ด์œ ๊ฐ€ ์žˆ๋‹ค๋ฉด, N๋ฒˆ ๋ชจ๋‘ ์ •๋‹ต์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋‹จ์œ„์ธ์ง€ ๊ณ ๋ คํ•  ๊ฒƒ.
์ปค๋ฐ‹์€ ์˜๋ฏธ๋‹จ์œ„, ๋™์ž‘๋‹จ์œ„๋กœ ์ž‘์—…์„ ์ž˜๋ผ์•ผ ํ•œ๋‹ค!


Commands

git config --list
git config --global user.name "NAME"
git config --global user.email "EMAIL@EMAIL.com"
git config --global core.editor "vim"
git config --global core.pager "cat"

git clone URL
git status
git add FILE
git commit
git push origin main

git init
git remote -v
git remote add origin URL
git remote remove mask

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ