-
Git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌํ๊ธฐGitHub 2023. 11. 16. 20:26
๐ Git ์์ธ๊น?
- ์ด์ ๋ฒ์ ์ผ๋ก ๋๋๋ฆฌ๊ธฐ ๊ฐ๋ฅ
- ๊ณผ๊ฑฐ ์์ ๋ด์ฉ ์ด๋๊ฐ๋ฅ
- ์์ ์ ์ธ ๊ฐ๋ฐ๊ฐ๋ฅ
์์ ํด๋์์ git ์ฐ๊ณ ์ถ์ผ๋ฉด git init๋ถํฐ ์ ๋ ฅํ๊ธฐ
git init
.git ์ด ํด๋์ ์์ฑ์ด ๋จ => git์ด ํ์ผ ๊ธฐ๋กํด๋๋ ์ฅ์ : repository (์ ์ฅ์)
ํ์ผ ํ์ฌ์ํ๋ฅผ ๊ธฐ๋กํด๋๋ ค๋ฉด?
git add (ํ์ผ๋ช ) git commit -m "๋ฉ์์ง"
=> git add ํ ํ git commit -m "๋ฉ์์ง"
=> ๊ธฐ๋ก์๋ฃ๋จ ( = ๋ฒ์ ์์ฑ์ด๋ผ๊ณ ๋ ๋ถ๋ฆ)
๋ค์ ์ด ์ํ๋ก ๋๋๋ฆด์์์ (git log๋ก ์กฐํํด์ ๋๋๋ฆฌ๊ธฐ)
๋ชจ๋ ํ์ผ์ ๊ธฐ๋กํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ git add (ํ์ผ๋ช ) ํด์ฃผ๋๊ฒ!
staging์ด๋?
์์ ํด๋์์ staging area๋ก ํด๋๋ค์ git addํ๋๊ฒ์ stagingํ๋ค~!๋ผ๊ณ ํจ
= commit ํ ํ์ผ ๊ณจ๋ผ๋จ๋ค๋ ๋ป
git add .
๋ชจ๋ ํ์ผ ์คํ ์ด์งํ๊ธฐ
git add one.jsx two.jsx
์ฌ๋ฌํ์ผ ์คํ ์ด์งํ๊ธฐ
=> ๊ฐ๋จํ ๊ธฐ๋ฅ ์ถ๊ฐ, ์์ ํ์ ๋(์์ ๋ฉ์ด๋ฆฌ) ์๋ฃ ํ์ ์ ์คํ ์ด์งํ๊ธฐ
์คํ ์ด์ง ํ์ผ ํ์ธํ๊ธฐ (์ํ์ฐฝ ์ด๊ธฐ)
git status
commit ๋ด์ญ ์กฐํํ๊ธฐ (Vim์๋ํฐ๊ฐ ์ผ์ ธ์ qํค๋ก ์ข ๋ฃํด์ผ)
git log
VSCode ์๋ํฐ๋ Source Control๋ก ๋ค์ด๊ฐ์ ํด๋ฆญ์ผ๋ก git add๊ฐ๋ฅ
๋ณ๊ฒฝ์ฌํญ์ด ์๋ ํ์ผ๋ค ๋ณ๋ ์ฌํญ์ ๋ํ๋ด์ค
+ ๋๋ฅด๋ฉด git add
- ๋๋ฅด๋ฉด git remove
์ฒดํฌ๋ฒํผ ๋๋ฅด๋ฉด commit
Message ์ฐฝ์ commit ๋ฉ์์ง ์ ๋ ฅ ๊ฐ๋ฅ
=> CHORE : My.jsx ์์ ๋ฉ์์ง๋ก ์ปค๋ฐํ๊ณ git log๋ก ํ์ธํ๋๋ commit์ด ๋์ด์์๋ค!
๐ branch๋ฅผ ์ ๋ง๋ค๊น?
ํ์ผ ๋ณต์ฌ๋ณธ ๋ง๋ค์ด์ ์ฝ๋ ์ง๋ฉด ์์
branch ๊ธฐ๋ฅ ์ด์ฉํ๋ฉด ๋ณต์ฌ๋ณธ ๋ง๋ค๊ธฐ ์ฌ์ ( ๋ ๋ฆฝ์ ์ธ ๊ฐ๋ฐ๊ฐ๋ฅ)
ํ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๊ธฐ ์ข์
๋ธ๋์น ๋ง๋ค๊ธฐ
git branch ๋ธ๋์น๋ช
๋ธ๋์น ์ด๋
git switch ๋ธ๋์น๋ช
๐ Merge ๋ธ๋์น ์ฝ๋๋ฅผ main ๋ธ๋์น์ ํฉ์น๊ณ ์ถ์ผ๋ฉด?
๊ธฐ์ค ๋ธ๋์น ์ด๋ ํ merge
git switch main > git merge ๋ธ๋์น๋ช
=> ๊ฒน์น๋ ํ์ผ์ด ์์ผ๋ฉด merge๊ฐ ์ ๋จ
=> But, ๊ฒน์น๋ ํ์ผ์ด ์์ผ๋ฉด conflict ๋ฐ์!!
์ผ์ผ์ด ์์ ํด์ผ ํจ
1. ์ํ๋ ์ฝ๋๋ง ๋จ๊ธฐ๊ณ
2. git add
3. git commit -m " conflict resolve"
๐ ํ์์๋ branch ์ญ์ ๋?
// merge ์๋ฃ๋ ๋ธ๋์น ์ญ์ git branch -d ๋ธ๋์น๋ช // merge ์ํ ๋ธ๋์น ์ญ์ git branch -D ๋ธ๋์น๋ช
๋ธ๋์น ์์ฑ๊ณผ ์ฒดํฌ์์์ ํ๋ฒ์ ํ๋ ค๋ฉด git checkout -b (์๋ก์ด ๋ธ๋์น๋ช )
git checkout -b (์๋ก์ด ๋ธ๋์น๋ช )
๐ restore / revert / reset
restore
ํ์ผ ๋ณต๊ตฌํ๋ ๋ฒ
git restore ํ์ผ๋ช
revert
commit ์ทจ์ํ๋ ๋ฒ
git revert ์ปค๋ฐ๋ก๊ทธ
commit ์ฌ๋ฌ๊ฐ ์ทจ์ ๊ฐ๋ฅ
git revert ์ปค๋ฐ๋ก๊ทธ1 ์ปค๋ฐ๋ก๊ทธ2
์ต๊ทผ commit ์ทจ์ ๊ฐ๋ฅ
git revert HEAD
reset
์ปค๋ฐ๋ก๊ทธ ๋๋๋ฆฌ๊ธฐ
git reset --hard 30157313b9c1d9cc254f73d5cb1fee8088f56791 (์ปค๋ฐ๋ก๊ทธ)
๐ข ํ์ ์ ์ฌ์ฉ ๊ธ์ง (์ํํจ) => ์ฝ๋ ๊ณต์ ํ๊ณ ์๋ ์ฌ๋๋ค ๊ฒ๋ ๋ค ์ญ์ ๋์ด๋ฒ๋ฆผ
์๊ฒฉ์ ์ฅ์์ repogitory ์ ์ฅํ๊ธฐ
git init git branch -M main git add . git commit -m "์ฒซ๋ฒ์งธ ์ปค๋ฐ" git remote add origin "์๊ฒฉ์ ์ฅ์์ด๋ฆ" // ๋ณ์์ง์ ์๊ฒฉ์ ์ฅ์์ด๋ฆ์ origin์ผ๋ก ์ง์ git push -u origin main // git push ํ ๋ -u ์ถ๊ฐํ๋ฉด ์ฃผ์ ๊ธฐ์ตํด์ค // ์ดํ์๋ git push๋ง ์ฐ๋ฉด ๋จ
git pull
git push origin main
๋ณ๋๋ด์ญ์ด์์ผ๋ฉด push๊ฐ ์๋จ (error)
์๊ฒฉ ์ ์ฅ์ ์ต์ ๋ด์ฉ์ด ๋ก์ปฌ์ ์ฅ์์ ์์ ๋์๋ง push ๊ฐ๋ฅ!!
push ์ ์ pull์ ํด์ฃผ์!!
git pull
git pull origin main
= git fetch + git merge์ (conflict ๋ฐ์ ๊ฐ๋ฅ)
git fetch : ์๊ฒฉ์ ์ฅ์ ์ ๊ท commit ๊ฐ์ ธ์ด
git merge : ๋ด ๋ธ๋์น์ ํฉ์น๊ธฐ
git pull ํ ๋ ํ์ 2๋ช ์ด์ ๊ฐ์ํ์ผ ์์ ์ merge conflict๊ฐ ๋ ์ ์์
๐ ์ข์ ์ปค๋ฐ ๋ฉ์
feat : ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ์ปค๋ฐ fix : ๋ฒ๊ทธ ์์ ์ ๋ํ ์ปค๋ฐ build : ๋น๋ ๊ด๋ จ ํ์ผ ์์ ์ ๋ํ ์ปค๋ฐ chore : ๊ทธ ์ธ ์์ํ ์์ ์ ๋ํ ์ปค๋ฐ ci : CI๊ด๋ จ ์ค์ ์์ ์ ๋ํ ์ปค๋ฐ docs : ๋ฌธ์ ์์ ์ ๋ํ ์ปค๋ฐ style : ์ฝ๋ ์คํ์ผ ํน์ ํฌ๋งท ๋ฑ์ ๊ดํ ์ปค๋ฐ refactor : ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ๋ํ ์ปค๋ฐ test : ํ ์คํธ ์ฝ๋ ์์ ์ ๋ํ ์ปค๋ฐ
'GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git๋ธ๋์น๋ฅผ ๋ง๋ค ๋ ํน์ ์ปค๋ฐ์ด๋ ๋ธ๋์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค ๋ (0) 2023.11.12