let's get IT with DAVINA ๐ป
Github ๋ณธ๋ฌธ
โญ <๊ฐ๋ ์๊ณ ๊ฐ์>
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 //๋ง ํด๋ ์๋์ผ๋ก ๋ณด๋ด์ง๋ค!
ํ์ธ๊ณผ ํ์ ํ๊ธฐ? git clone, pull
#์์ค์ฝ๋ ๋ด ๋ก์ปฌ์ ๋ค์ด๋ฐ์์ค๊ธฐ
git clone ์ ์ฅ์์ฃผ์
#์๊ฒฉ์ ์ฅ์์ ๋ค๋ฅธ ํ์์ด pushํ ์๋ก์ด ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธฐ๋ฉด ๋ push๋ฅผ ๋ชปํ๊ฒ ๋๋ค.
#๊ทธ ์๊ฒฉ์ ์ฅ์ -> ๋ก์ปฌ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๊ธฐ
git pull ์๊ฒฉ์ ์ฅ์์ฃผ์ ๋ธ๋์น๋ช
//or
git pull origin(๋ณ์๋ช
) ๋ธ๋์น๋ช
#pull๋ก ๋ฐ์์จ ๋ค์ ๋ด ๋ณ๋ ์ฌํญ pushํด~!
#ํ์๋ ๋ด๊บผ ๋ค์ pull๋ก ๋ฐ์๊ฐ๊ณ ๋ค์ pushํด~!
- git fetch = ์๊ฒฉ์ ์ฅ์์ ์๋ commit ์ค์ ๋ก์ปฌ์ ์๋ ์ ๊ท commit ๊ฐ์ ธ์
- git merge = ๊ทธ๊ฑธ mergeํด
- git pull = git fetch + git merge
โ๏ธ Error Issue
feat/front/all branch์์ ์์ ํ๊ณ ๋ค์๋์ด ๋ก์ปฌ์ dev/front๋ธ๋์น์์ pull์ ๋ฐ์์ค๋ ค๊ณ ํ์ผ๋, dev/front์์ feat๋ธ๋์น๊ฐ ์๋ ๋ณํฉ์ด ๋๋ฉด์ ๊ฐ์ ธ์์ง.→ ์ด๋ด๋, ๋ค์๋ ๋ก์ปฌ์์ ๋์ผํ ๋ธ๋์น๋ฅผ ์๋ก ์์ฑํ ํ, git pull์ ๋ฐ์์์ผ merge๋ฅผ ํผํ ์์์!
โ๏ธ Error Issue
gitignore์ node modulues๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์ผ์ด ์ปค push๋์ง ์์!
๊ทธ๋์ git clone ํด์ ๋ฐ์์๋ node modules ์๊น๋ฆผ (package.json์ ์กด์ฌํ๊ณ , npm install ํ๋ฉด uptodate์ด๋ผ๊ณ ๋ธ)⇒ ์ํ๋ ๋๋ ํ ๋ฆฌ ex)”front” ์์ ํตํฉ ํฐ๋ฏธ๋์ ํจ ๋ค์ npm install์ ๋ค์ ํด์ค์ผ๋ก์จ ํด๊ฒฐ
(์ด ๋, front์์ ํตํฉ ํฐ๋ฏธ๋์ ํค์ง ์์์ ์๋ฌ๋ ๋ ๋ฐ์ํ์์...)
๋ธ๋์น๋ก ํ์ ํ๊ธฐ? pull request
github์์ ์ง์ ๋ธ๋์น ๋ง๋ค์ด๋ ๋๊ณ ,
๋ก์ปฌ์ ์ฅ์์์ ๋ธ๋์น ๋ง๋ค๊ณ mergeํด๋ ๋๊ฐ์
#branch ์์ฑ
git branch ๋ด๋ธ๋์น๋ช
#ํด๋น branch๋ก ์ด๋
git switch ๋ด๋ธ๋์น๋ช
git add .
git commit -m "๋ฉ์ธ์ง"
git push [์ ์ฅ์์ด๋ฆ] [๋ด๋ธ๋์น๋ช
]
์๊ธฐ ๋ด์ฉ๊น์ง ์๋ฃ๋๋ฉด Github์ผ๋ก ์!!
main branch๋ก ํด๋น ๋ด๋ธ๋์น๋ฅผ mergeํ๊ธฐ ์ ์ฝ๋๋ฆฌ๋ทฐ ํ์! => pull request!
ํ์ ๋๋ ํ์ฅ์๊ฒ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ๊ณ → merge ๋ด๋น์๊ฐ merge ์น์ธํ๋ฉด ๋จ~
<merge ๋ฐฉ๋ฒ>
- rebase and merge - ๋ณ๊ฒฝ ์ฌํญ, ๋ชจ๋ ์ฌํญ์ด ๋ฐ๋ ค ์ฌ๋ผ๊ฐ๋ ๋๋์ผ๋ก merge๋๋ค.
- squash and merge - ๋ณ๊ฒฝ ์ฌํญ์ด ํ๋๋ก ํฉ์ณ์ ธ์ ๋ฑ 1๊ฐ์ ์ ์ด merge๋๋ค.
- merge commit - ๋ณ๊ฒฝ ์ฌํญ ๋ค ๊ฐ์ ธ์ค๊ณ , ๊ทธ ์์ ํฉ์ณ์ง merge commit ์ 1๊ฐ๋ ๋ฑ ์ฐ๊ธฐ
์ฝ๋ ์ ๊น ๋ณด๊ด? git stash
์ฃผ์ ์ฒ๋ฆฌํ๋ฉด ๋์ง ์ stash์จ?
commit ํ ๋ ์ฃผ์๋ ๋ค๊ฐ์ด ์ฌ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ ๊น๋ํ๊ฒ ํ๊ธฐ ์ํด์~
#๋ฐฉ๊ธ ์น ์ฝ๋ ์ ๊น ์๋ผ๋ด์ ๋ณด๊ด ์ข
git stash
#๋ณด๊ด๋ ์ฝ๋ ๋ชฉ๋ก ์กฐํ => ์ต๊ทผ commit๊ณผ์ ์ฐจ์ด์ ์ ์ ๋ถ ๋ณด๊ดํด์ค
#but staging ์ํด๋์ ์๋ก์ด ํ์ผ์ stash ์๋ ์๋ ์์ด
git stash list
#๋ฉ๋ชจ๋ ์ ๊ณ ์ถ์ผ๋ฉด
git stash save "๋ฉ๋ชจ"
#stash๋ ์ฝ๋ ๋ค์ ๋ถ๋ฌ์ค๊ธฐ
#๊ฐ์ฅ ์ต๊ทผ ๊ฒ๋ถํฐ ๋ถ๋ฌ์ด
git stash pop
#stash 1๊ฐ ์ญ์ ๋
git stash drop ๋ฒํธ
#์ ๋ถ ์ญ์ ๋
git stash clear
'DEV_IN > Git&Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git VS Github (0) | 2023.02.08 |
---|---|
Git Flow (4) | 2023.02.08 |
Git [๋ด ์ค์ ๋ณต๊ตฌํ๊ธฐ] ๊ณผ๊ฑฐ๋ก ์ฉ ๐จ (4) | 2023.02.08 |
Git [merge] (3) | 2023.02.08 |
Git [installation & branch ์์ฑ] (0) | 2023.02.08 |