๋ชฉ๋กDEV_IN/Git&Github (7)
let's get IT with DAVINA ๐ป
๋น๋'s ์ฝ์ง ์ผ์ง Local์์ ์์ ํ๋ project๋ฅผ Remote Github์ ์ฐ๊ฒฐํ๊ณ ์ถ์ ๋, ์๋์ ๊ฐ์ด SSH์ฃผ์๋ก ์ฐ๊ฒฐ์ ํ๋๋ git push๊ฐ ๊ณ์ํด์ ์คํจํ๋ค.. git remote add origin git@github.com:davina708/todo-vin.git git branch -M main git push -u origin main โญ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ git remote remove origin git@github.com:davina708/todo-vin.git //์ฐ๊ฒฐ ๋ remote ์ ๊ฑฐ git remote add origin https://github.com/davina708/todo-vin.git //๊นํ https์ ์ฃผ์ ์ ๋ ฅ git remote -v // remo..
Git๊ณผ Github ์ฌ์ฉ๋ฒ์ ๋ธ๋ก๊น ํ๋ฉฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ถ๋ฅํ๋๋ฐ ๋ฌธ๋ ์ด ๋์ ์ฐจ์ด๋ฅผ ๋ช ํํ ์๊ณ ์๋์ง ๊ถ๊ธํด์ก๋ค. Git ์์ค ์ฝ๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ถ์ฐํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ VCS: Version Control System ์์ค ์ฝ๋ ์์ ์ ๋ฐ๋ฅธ ๋ฒ์ ์ ๊ด๋ฆฌํด์ฃผ๋ ์์คํ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ฌ์ฉ (๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ์ ๊ฐ๋ X) Github ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ํด์ธ Git์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ๋ฅผ ์ง์ํ๋ ์นํธ์คํ ์๋น์ค ์ธ์ , ์ด๋์๋ ํ์ ์ด ๊ฐ๋ฅ ๋ก์ปฌ์์ ๋ฒ์ ๊ด๋ฆฌํ ์์ค์ฝ๋๋ฅผ ํด๋ผ์ฐ๋ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ก๋ํด์ ๊ณต์ ๊ฐ๋ฅ Git์ผ๋ก ๋ก์ปฌ ์ ์ฅ์์์ ์์ -> Github์ ์ ๋ก๋ & Github์ ์๋ ์์ ๋ฌผ์ ๋ด๋ ค๋ฐ์์์ ์์ Local Repository : ๋ด PC์ ์ ์ฅ๋๋ ๊ฐ์ธ ์ ..
1. main (๋ฐฐํฌ์ฉ) ํ์ฌ ์ฝ๋์ → ์ ๊ฑด๋ค์ง ๋ง๊ณ ์ผ๋จ ์์ → 4๋ฒ ๊ณผ์ ๊น์ง ๋ค ์์ฑ๋๋ฉด mergeํด์ ๋ฐฐํฌ! 2. develop (๊ฐ๋ฐ์ฉ) 3๋ฒ feature์์ ์๋๋ฉด develop ๋ธ๋์น์ mergeํ๊ณ 3. feature (develop์ ๊ธฐ๋ฅ์ถ๊ฐ์ฉ) ๋ถ๋ฅ๋ฅผ ์ธ์ธํ๊ฒ ๋๋๊ธฐ๋ฅผ ์ํ๋ ํ์ฌ์์๋ refactor, fix, docs, chore์ ๊ฐ์ด ์ธ์ธํ๊ฒ ์ปค๋ฐ ๋ฉ์์ง๋ ๋ธ๋์น ๋ช ์ prefix๋ฅผ ๋ฌ๊ธฐ๋ ํฉ๋๋ค. hash (๋ธ๋์น ๋ช ) ์ปค๋ฐ ๋ฉ์์ง 2f85eea (feat/create-todo) feat: Todo ์ถ๊ฐ ๊ธฐ๋ฅ 2ad0805 (fix/var-name) fix: ๋ณ์ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ๋ง๊ฒ ๋ณ์๋ช ๋ณ๊ฒฝ (ismale => isMale) e7ce3ad (refactor) refa..
โญ git ⇒ ๋ฒ์ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ repository ⇒ git์ด ํ์ผ ๊ธฐ๋กํด๋๋ ์ฅ์ ์๊ฒฉ ์ ์ฅ์ = ์จ๋ผ์ธ repository - ์ปดํจํฐ ๊ณ ์ฅ๋๋ ์์ฌ - ํ์ ์ด ๊ฐ๋ฅ - ex) github ๋ด ์ฝ๋ ์ฌ๋ฆด ๋? git push //local ํ๊ฒฝ์์ repository ์์ฑ git init //๊ธฐ๋ณธ๋ธ๋์น ์ด๋ฆ์ main์ผ๋ก ๋ฐ๊พธ๊ธฐ git branch -M main //๋ก์ปฌ -> ์๊ฒฉ์ผ๋ก ๋ณด๋ด๊ธฐ git push -u ์๊ฒฉ์ ์ฅ์์ฃผ์ ์ฌ๋ฆด๋ก์ปฌ๋ธ๋์น๋ช //์๊ฒฉ์ ์ฅ์์ฃผ์ ๋ ๊ธธ์ด์ -> ๋ณ์ ๋ฌธ๋ฒ ์ฌ์ฉํ๊ธฐ git remote add ๋ณ์๋ช ์ฃผ์ git push -u ๋ณ์๋ช ์ฌ๋ฆด๋ก์ปฌ๋ธ๋์น๋ช //์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํด์ง! //-u๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ ์ดํ๋ถํฐ ์ฃผ์๊ฐ ๊ธฐ์ต๋๊ธฐ ๋๋ฌธ์ git push //๋ง ํด๋ ์๋์ผ๋ก ๋ณด๋ด..
ํ์ผ ๋ณต๊ตฌํ๊ธฐ //๋ฐ๋ก ์ commit ์์ ์ผ๋ก ํ์ผ ๋ณต๊ตฌํ๋ ๋ฒ git restore ํ์ผ๋ช //ํน์ commit ์์ ์ผ๋ก ํ์ผ ๋ณต๊ตฌํ๋ ๋ฒ git restore --source ์ปค๋ฐ์์ด๋ ํ์ผ๋ช //staging ์ทจ์ํ๋ ๋ฒ git restore --staged ํ์ผ๋ช commit ์ทจ์ํ๊ธฐ git revert ์ปค๋ฐ์์ด๋1 ์ปค๋ฐ์์ด๋2 //์ต๊ทผ ์ปค๋ฐ ์ทจ์ git revert HEAD ๊ณผ๊ฑฐ๋ก ๋ชจ๋ ๊ฑธ ๋๋๋ฆฌ๊ธฐ git reset --hard ์ปค๋ฐ์์ด๋ //๋ฆฌ์ ์ธ๋ฐ ๋ณ๋์ฌํญ ์ง์ฐ์ง ๋ง๊ณ ์คํ ์ด์ง ํด๋๊ธฐ git reset --soft ์ปค๋ฐ์์ด๋ //๋ฆฌ์ ์ธ๋ฐ ๋ณ๋์ฌํญ ์ง์ฐ์ง ๋ง๊ณ unstage ํด๋๊ธฐ git reset --mixed ์ปค๋ฐ์์ด๋ ๐ซ ERROR ISSUE ํ์๋ถ์ด dev/front์์ ์์ ์ค์, ๋ด..
merge ๋ฐฉ๋ฒ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ๋๋๋ฉด ๋ธ๋์น๋ฅผ main ๋ธ๋์น์ ํฉ์น ์ ์์ต๋๋ค. ๋จธ์ง๋ feature ๋ธ๋์น๋ ์ด๋ฏธ dev ๋ธ๋์น์ ๊ธฐ๋ก์ด ์๋ฒฝํ๊ฒ ๋จ์์๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ๋จ๊ฒจ๋ ์ด์ ๊ฐ ์์ด ์ญ์ ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ pull request๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ฌด๋ฆฌ๋๋ฉด, ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ ๋ฒํผ์ ๋๋ฌ ์ฝ๊ฒ ์ญ์ ํ ์ ์์ต๋๋ค. ๋ก์ปฌ์์ merge ์๋ฃ๋ ๋ธ๋์น ์ญ์ ๋ฐฉ๋ฒ git branch -d ๋ธ๋์น๋ช //merge์ํ ๋ธ๋์น ์ญ์ git branch -D ๋ธ๋์น๋ช case 1. ๊ฐ ๋ธ๋์น์ ์ ๊ท commit์ด ์๋ ๊ฒฝ์ฐ => 3 way merge git switch main //๋ฉ์ธ ๋ธ๋์น๋ก ์ด๋ git merge feat //feat ๋ธ๋์น๋ฅผ main๋ธ๋์น๋ก ๋ณํฉ ์ค์ฌ ๋ธ๋์น๋ก ์ด๋ํด์ gi..
Why using git? ํ์ผ ๋ณ๊ฒฝ ๋ด์ญ์ ๋ณด์กดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด How to install? 1. Homebrew ๊ฒ์ํด์ ์ฌ์ดํธ์ ๋ณด์ด๋ ๊ธด ์ค์น๋ช ๋ น์ด๋ฅผ 2. ํฐ๋ฏธ๋์ ๊ทธ๋๋ก ์ ๋ ฅ 3. password ์ ๋ ฅํ๋ผ๊ณ ํ๋ฉด ๋งฅ๋ถ ๋น๋ฒ ์ ๋ ฅ 4. ์ค์น ๋๋๋ฉด ์ปค๋งจ๋ 2๊ฐ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ 2๊ฐ ๊ฐ๊ฐ ํฐ๋ฏธ๋์ ์ ๋ ฅ 5. brew install git ํ๋ฉด ์ค์น ๋ 6. ๊ธฐ๋ณธ ๋ธ๋์น ์ด๋ฆ master → main์ผ๋ก ๋ณ๊ฒฝ git config --global init.defaultBranch main 7. ์ด ์ปดํจํฐ์์ git ์ฒ์์ด๋ค? ⇒ ์ฌ์ฉ์ ๋ฑ๋ก git config --global user.email "ํ๊ธธ๋@naver.com" git config --global user.name "ํ๊ธธ๋" Git ์ด..