๐ Violet Lee๋ ํน๊ฐ ํ๊ธฐ
์ค๋์ ๊น/๊นํ๋ธ/์ปค๋งจ๋ ๋ช
๋ น์ด๋ฅผ ๋ฐฐ์ฐ๋ ํน๊ฐ์ด ์์๋ค. ๋ณด๋ผ๋ ์์
์ ํตํด์ ํ์
์ ํ์ํ, ์ฆ ์ค๋ฌด์์ ์ฆ์ ์ฌ์ฉํ ์ธ์ด๋ค์ ๋ฐฐ์ฐ๊ณ ์ค์ตํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. ์ ๋ 5์ ๊ฐ๊น์ด ๋๋ ์๊ฐ์ ์์ ํผ๊ณคํ ๋ง๋ ํ์ง๋ง, ์ ๋ง ํ์
์ ์ํ๋ FE ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์ ๋ง์์ ์์นจ๋ถํฐ ์ ์ ์ ๋ฐ์ง ์ฐจ๋ฆฌ๊ณ ์์
์ ์ฐธ์ฌํ๋ค. ๊ทธ๋ฐ๋ฐ ์ฒ์๋ถํฐ ์ฝ์ง ์์๋ค. ์ผ๋จ ๋๋ CMD์ฐฝ๊ณผ ์นํ์ง ์์๊ณ ์ปค๋งจ๋ ๋ช
๋ น์ด๋ ๊ธฐ๊ป ์๋ ๊ฑด git pull, clone, add, push์๋ค.
๊ฒฐ๊ตญ ์ค์๋ ๋ง์ด ํ๊ณ ๋น ๋ฅธ ์ง๋ ๋๋ฌธ์ ์จ์ ํ๊ฒ ์ดํดํ๊ธฐ๋ ์ด๋ ค์ ์ง๋ง, ๋ง์ง๋ง ์ค์ต์์ ์ง์ forkํ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ ํ๊ณ ๋ค์ main branch๋ก ์ฎ๊ธฐ๋ ์์
์ ํ๋ฉด์ ํฅ๋ฏธ๊ฐ ์๊ธด ๊ฒ ๊ฐ๋ค. ์์ง์ ์ด์ํ ๋ช
๋ น์ด๋ค์ด์ง๋ง, ์ฐ์ตํ๊ณ ์ตํ์ ์ถํ์ ๋ฉ์์ด ์ฌ์ ํ ํ์
์ ๋์์ด ๋๊ธธ ๋ฐ๋๋ค! ๊น ๊ณต๋ถ ์คํฐ๋๋ ๋จ๊ธฐ๋ก ํด๋ณด๋ฉด ์ด๋จ๊น ์๊ฐ๋ ๋ ํ๋ฃจ์๋ค!
๐ ์ฃผ์ ์ปค๋งจ๋ ๋ช
๋ น์ด
Git Bash ๊ด๋ฆฌ์๊ถํ์ผ๋ก ์คํ์ ํด์ผ ์ฝ๊ธฐ,์ฐ๊ธฐ ๋ฑ ์์ ๋กญ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
์์: pwd cd ls
pwd: print working direcory
cd
ls: list
- ls -a: ์จ๊ธดํญ๋ชฉ๋ณด๊ธฐ
- ls -al: ์์ธํ ๋ด์ฉ๊น์ง
- a ์จ๊นํ์ผ l์ ์ถ๊ฐ์ ๋ณด
โ ํ์ผ ๋ง๋ค๊ธฐ
pwd > cd ํ์ผ ์์น > vim ํ์ผ์ด๋ฆ.ํ์ฅ์๋ช
i : ๋ด์ฉ ์ ๊ธฐ
esc + : ํ๊ณ wq(์ ์ฅ๋ง ํ๊ณ ์ถ์ผ๋ฉด w, ๋๊ฐ๊ธฐ q, ๋์ wq)
cat test.text ๋ช
๋ น์ด ์น๋ฉด ํ์ผ ์์ด์ด๋ณด๊ณ ๋ด์ฉ ํ์ธํ ์ ์์ต๋๋ค
rm -r : ํด๋ ์ญ์ ๊ณ rm์ ํ์ผ ์ญ์ ์์
rm .swp ํ๋ฉด .swp ํ์ผ ์น ์ญ์ ~!
rm .ํ์ผ๋ช
.swp ํด๋น ํ์ผ ์ญ์
.code: VSCode์ด๊ธฐ
๐ debug
๐ ์ปค๋ฐ์ด๋?
- ํ๋์ ๋
๋ฆฝ์ ์ธ ๋ฒ์ ์ ๋ํ๋
- ์ฌ์ง ์ฐ๊ธฐ์ ๋์ผ!
์ฌ๊ณผ ํผ์ ์ฐ๊ณ , ๋ฐ๋๋ ์ฌ๋ ค์ ํจ๊ป ์ฐ๊ณ ...
- ์ปค๋ฐ์ ์ฑ
์์ ๋ชฉ์ฐจ ์ ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
- ์์คํธ๋ฆฌ, ๊นํฌ๋ผ์ผ ๋ง์ด ์ฌ์ฉ
- git graph ์ต์คํ
์
์์ ์ปค๋ฐ ์์ด๋ ํ์ธ ๊ฐ๋ฅ
๐ checkout?
- Checkout: ์ปค๋ฐ์ ์ ๊ฒํ๋ค
- git checkout ๋ธ๋์น๋ช
(๊ตฌ) --> git switch ๋ธ๋์น๋ช
(์ )
- commit Checkout ์ํ์์ ์ปค๋ฐ์ ํ๋ฉด ๋ฐ์์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ ์กฐ์ฌ
- HEAD ์ ์: ํ์ฌ ์ฒดํฌ์์ํ ๋ธ๋์น์ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ํ์ดํ
- ๋ณดํต ๋ธ๋์น(branch)๋ ํน์ ์ปค๋ฐ(commit)์ revision number๋ฅผ ๊ฐ๋ฆฌํค๊ณ HEAD๊ฐ ์ด ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ด๋ ๊ฒ HEAD -> ๋ธ๋์น -> ํน์ ์ปค๋ฐ ์์๋ก commit์ ๊ฐ๋ฆฌํค๋ ์ํ๋ฅผ โattached HEADโ ์ํ(state)๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ , Detached HEAD๋ HEAD๊ฐ ๋ธ๋์น๋ฅผ ํตํด ๊ฐ์ ์ ์ผ๋ก commit์ ๊ฐ๋ฆฌํค์ง ์๊ณ , ์ง์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ ๋งํ๋ค.
๐ git ์ ์ฅ(๋ฒ์ ๊ด๋ฆฌ, ์ปค๋ฐ ๋ง๋ค๊ธฐ)
- 1์๊ฐ ๋จ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฑ ์ฆ์ ์ ์ฅ ๋น๋ X
- ์ปค๋ฐ์ ๋
ผ๋ฆฌ์ ๋ณ๊ฒฝ์ด ์์ ๋ ์ ์ฅํ๋ค.
- ๊ฐ๋ฅํ๋ฉด ์ปค๋ฐ ํฌ๊ธฐ๋ ์์ ์๋ก ์ข๋ค.
ex) ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ ๋
ผ๋ฆฌ์ ๋จ์(์ฃผ๊ด์ )
- ๋งํฌ์
์์
- ๊ตฌ๊ธ ๋ก๊ทธ์ธ ์ฐ๋
- ํ์ด์ค๋ถ ๋ก๊ทธ์ธ ์ฐ๋
โ ์ผ ์ํ๋ ์ฌ๋ ํน์ง ์์ฃผ ๋ณด๊ณ -> push ์์ฃผํ๊ธฐ!
๐ Repository(์ ์ฅ์)
์์ค์ฝ๋๊ฐ ๋ชจ์ฌ ์๋ ๊ณต๊ฐ!
๋ชจ๋
ธ๋ฆฌํฌ์งํ ๋ฆฌ - ์์ ํ๋ก์ ํธ๋ ํ๋์ ํ๋ก์ ํธ ๋น ํ๋์ ๋ ํฌ
git log
https://www.44bits.io/ko/post/linux-and-mac-command-line-survival-guide-for-beginner
--> ์ด๊ฑฐ ์ง์ง ํ์ ๊ผญ๊ผญ๊ผญ ๊ณต๋ถํ๊ธฐ!!!!
๐ checkout?
- Checkout: ์ปค๋ฐ์ ์ ๊ฒํ๋ค
- git checkout ๋ธ๋์น๋ช
(๊ตฌ) --> git switch ๋ธ๋์น๋ช
(์ )
- commit Checkout ์ํ์์ ์ปค๋ฐ์ ํ๋ฉด ๋ฐ์์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ ์กฐ์ฌ
- HEAD ์ ์: ํ์ฌ ์ฒดํฌ์์ํ ๋ธ๋์น์ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ํ์ดํ
- ๋ณดํต ๋ธ๋์น(branch)๋ ํน์ ์ปค๋ฐ(commit)์ revision number๋ฅผ ๊ฐ๋ฆฌํค๊ณ HEAD๊ฐ ์ด ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ด๋ ๊ฒ HEAD -> ๋ธ๋์น -> ํน์ ์ปค๋ฐ ์์๋ก commit์ ๊ฐ๋ฆฌํค๋ ์ํ๋ฅผ โattached HEADโ ์ํ(state)๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ , Detached HEAD๋ HEAD๊ฐ ๋ธ๋์น๋ฅผ ํตํด ๊ฐ์ ์ ์ผ๋ก commit์ ๊ฐ๋ฆฌํค์ง ์๊ณ , ์ง์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ ๋งํ๋ค.
๐ ๋ฒ์ ๊ด๋ฆฌ
๋ฐ๋ก ๋ ํฌ๋ก ์ปค๋ฐ ๊ฐ๋ ๊ฒ ์๋๋ผ, staging area๋ฅผ ๊ฑฐ์ณ์ ๊ฐ
working ๋๋ ํ ๋ฆฌ -> ์คํ
์ด์ง -> ๋ ํฌ
๐ ์คํ
์ด์ง ํ๋ ๋ฐฉ๋ฒ (git status)
-git init: ์ ์ฅ์๊ฐ ์๋ ํด๋๋ฅผ ์ ์ฅ์๋ก ๋ง๋ค์ด์ค
- git status
- ๋ฌด์ง์ฑ git add . ์ฌ์ฉ ๊ธ์ง!,ํ์ ์๋ ํ์ผ์ด ํจ๊ป ์์
(์์ฃผ ๊ฐ๋จํ ๊ฒ์ ์ฌ์ฉํด๋ ๋ฌด๊ด)
- git status๋ก ์ฌ์ฉํ๊ธฐ
๐ git ignore
https://www.toptal.com/developers/gitignore
- ๋ฒ์ ๊ด๋ฆฌ์ ํ์ ์๋ ๊ฑฐ ์ฐพ์์ ๋ณต์ฌ๋ถ์ด๊ธฐ
- ๋ฌด์ง์ฑ add . X
- DS.store ์ด๋ฐ ํ์ผ์ด ์์ฑ๋๋ฉด ์๋จ
์ค์ต ๋งํฌ(โญโญโญ)
https://learngitbranching.js.org/?locale=ko
https://git-school.github.io/visualizing-git/
๐ ๋ธ๋์น(branch)
-
๋ธ๋์น ์์ ์ปค๋ฐ๋ค์ด ์ฃผ๋ ์ฃผ๋ ๋ฌ๋ฆฐ๋ค
-
git flow. github glow gitlab flow ์ค ํ 1๋ก ํ์ฌ์์ ๋ธ๋์น ์ ๋ต ์ธ์
- ํน์ ํ ๋ชฉํ๋ฅผ ๊ฐ์ง๊ณ ์ฝ๋๋ฅผ ์์ ํ๊ธฐ ์์ํ ๋ ๋ง๋ ๋ค!
ex) ๋ฒ๊ทธ ์์ , ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฑ๋ฑ..
-
์์ฑ: git branch ๋ธ๋์น ์ด๋ฆ
-
ํด๋น ๋ธ๋์น๋ก ๊ฐ๊ธฐ: git switch ๋ธ๋์น ์ด๋ฆ
-
git checkout
readme ์์ฑ ๋ฐฉ๋ฒ
๋ฆฌ๋๋ฏธ๋ฅผ ์ ๋๋ก ์์ฑํ์ง ์์ผ๋ฉด
(ํ์์ฌํญ)
1. ํ๋ก์ ํธ ์๊ฐ
2. ๊ตฌ๋ ๋ฐฉ๋ฒ
์์) ๋ณด๋ผ๋ simple todo app
https://github.com/Violet-Bora-Lee/simple-todo-app-server