
๐ฏ ๋ถ์ฐ์ ์ฒ๋ฆฌ ๊ด๋ฆฌ ์์คํ ์ธ Git์ ๋ช ๋ น์ด๋ฅผ ์ตํ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๊ณ ํ์ ํ๊ฒฝ ๊ตฌ์ฑ์ ํฉ๋๋ค.
์ปดํจํฐ์ ๋ช ๋ นํ๋ ๋ฐฉ์์ ์ฐจ์ด์ ๋ฐ๋ผ ๋ถ๋ฅ๋ฉ๋๋ค.
์ ธ(Shell)์ด๋?
์ฌ์ฉ์๊ฐ ์ด์์ฒด์ (OS) ์์์ ๋ช ๋ น์ด๋ฅผ ํตํด ํ๋ก๊ทธ๋จ ์คํ์ ๋๋ ์ญํ ์ ํฉ๋๋ค.
ex.bash,zsh,cmd
๋ช ๋ น์ด ์์
cd ๋๋ ํ ๋ฆฌ : ๋๋ ํ ๋ฆฌ ์ด๋ (change directory)
ls : ํ์ฌ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก ํ์ (list) / ์๋์ฐ cmd์์๋ dir๋ก ์ฌ์ฉํจ
ls -a: ์จ๊น ํ์ผ์ ํฌํจํ ๋ชจ๋ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก ํ์ (list all)
mkdir : ์ ๋๋ ํ ๋ฆฌ ์์ฑ (make directory)
.. : ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธ
. : ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธ
/ : ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธ
GUI(Graphical User Interface) : ์์ด์ฝ, ๋ฒํผ ๊ฐ์ ๊ทธ๋ํฝ ์์๋ค์ ํตํด์ ์ปดํจํฐ์ ์ํธ์์ฉํ๋ ์ธํฐํ์ด์ค์ ๋๋ค.

git init : Git์ ์ด๊ธฐํ(initialize)ํฉ๋๋ค. ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ฅ์๋ก ๋ง๋ค๊ณ , .git ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.

git add: git์ด ํ์ผ๋ค์ ํธ๋ํนํ๋๋ก ์คํ
์ด์ง ์์ญ(์ปค๋ฐ ์ ์ค๋น ๋จ๊ณ)์ ์ถ๊ฐํด์ค๋๋ค.

git status : Git ์ ์ฅ์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.

git commit: ์คํ
์ด์ง ์์ญ์ ์๋ ํ์ผ๋ค์ ๋ก์ปฌ ์ ์ฅ์์ ์ ์ฅํฉ๋๋ค. ( git commit -m "์ปค๋ฐ ๋ฉ์ธ์ง" ๋ก ํ๊ธฐ๋ ํฉ๋๋ค.)

c๋ฅผ ๋ ๋ฒ ๋๋ฌ ์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ์ฝ์
ํ๊ณ esc๋ฅผ ๋๋ฌ ๋์จ๋ค:wq(์ ์ฅํ๊ณ ์ข
๋ฃ)๋ฅผ ์
๋ ฅํ์ฌ Vim์ ์ข
๋ฃํฉ๋๋ค. git log: ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ํ์ธํฉ๋๋ค.
initialize Repository ๋ฒํผ์ ์ด์ฉํด์ git init์ ์ํํฉ๋๋ค.

์ถ๊ฐํ ํ์ผ์ ์ค๋ฅธ์ชฝ์ +๋ฒํผ์ ๋๋ฌ git add๋ฅผ ํด์ค๋๋ค.

Staged Changes์ ์ถ๊ฐํ ํ์ผ๋ค์ด ์ ์ฌ๋ผ๊ฐ๋ฉด input์ฐฝ์ commit ๋ฉ์ธ์ง๋ฅผ ์
๋ ฅํ๊ณ commit ๋ฒํผ์ ๋๋ฌ commit์ ์๋ฃํด์ค๋๋ค.
๐๏ธGit History
Extension์ ํตํด commit log๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.

GUI๋ฅผ ํ์ฉํด์ Git command๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ ์ด ๋๋ผ์ ๋ค. Vim์ ํ์ฉํด์ commit ๋ฉ์ธ์ง๋ฅผ ์ฒ์ ์์ฑํด๋ดค์ด์ Git์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ด ๋ค์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.
CLI์ ์ต์ํด์ ธ์ ์์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ๋์์ผ๋ฉด ์ข๊ฒ ๊ณ , ๋ค๋ฃจ๊ธฐ ์์ฌ์ด Github Desktop๋ ์ฌ์ฉํด๋ณด๊ณ ์ถ๋ค.