1) Git Repository ์์ฑ ๋ฐ ์ด๊ธฐ ์ค์ ๋ช ๋ น์ด
# git init
→ ํด๋น ๊ฒฝ๋ก์ .git ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉฐ ์๋ก์ด git ์ ์ฅ์๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด์ด๋ค.
# git config --global core.autocrlf true
→ ํ์
์, ์๋์ฐ์ ๋งฅ์์ ์ํฐ ๋ฐฉ์ ์ฐจ์ด๋ก ์ธํ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค.
# git config --global user.name "(๋ณธ์ธ ์ด๋ฆ)"
# git config --global user.email "(๋ณธ์ธ ์ด๋ฉ์ผ)"
# git config --global init.defaultBranch main
→ ๊ธฐ์กด Branch๋ Master|Slave ๋ช
์นญ์ผ๋ก ์ฌ์ฉ๋์์ผ๋ ํด๋น ์ฉ์ด๋ ์ธ์ข
์ฐจ๋ณ๋ก ์ด์ด์ง ์ ์์ด ์์ฆ์๋ Main์ผ๋ก ๋ฐ๊พธ์ด ์ฌ์ฉํ๋ค.
2) Git ์ํ ํ์ธ ๋ช ๋ น์ด
# git status
→ git ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ ํ์ธ (untracked, tracked, staging)
# git log
→ ํ์ฌ ๋ธ๋์น์ ์ปค๋ฐ ๋ด์ญ์ ์ถ๋ ฅ
# git log --all --decorate --oneline --graph
→ ์ฌ๋ฌ ๋ธ๋์น ๋ด์ญ ํ๊บผ๋ฒ์ ๋ณด๊ธฐ
3) ์ปค๋ฐ ๊ด๋ จ ๋ช ๋ น์ด
# git add ํ์ผ๋ช
→ ํด๋น ํ์ผ์ working directory์์ staging area๋ก ์ด๋
# git add .
→ ํ์ฌ ๊ฒฝ๋ก์ ๋ชจ๋ ํ์ผ์ working directory์์ staging area๋ก ์ด๋
# git restore --staged ํ์ผ๋ช
→ Staging Area์ ํน์ ํ์ผ์ Working Directory๋ก ์ด๋ (git add ์ทจ์)
→ ํ์ผ๋ช
๋์ "."์ ์ ์ด์ ๋ชจ๋ ํ์ผ์ Staing Area์์ Working Directory๋ก ์ด๋์ํฌ ์๋ ์๋ค.
# git restore ํ์ผ๋ช
→ Working Directory์ ํน์ ํ์ผ์ (๋ณ๊ฒฝ ๋๊ธฐ ์ ์ผ๋ก) ๋ณต๊ตฌํ๋ค.
→ ํ์ผ๋ช
๋์ ์ "."์ ์ ์ผ๋ฉด Working Directory์ ๋ชจ๋ ํ์ผ์ (๋ณ๊ฒฝ ๋๊ธฐ ์ ์ผ๋ก) ๋ณต๊ตฌํ๋ค.
→ git reset --hard ๋ช
๋ น์ด์ ๋์ผํ๋ค!
# git commit
→ ํ์ฌ ๋ณ๊ฒฝ๋ด์ญ ์ปค๋ฐ (Staging Area์ ์๋ ๋ณ๊ฒฝ๋ด์ญ์ Repository์ ๋ฐ์)
# git commit -m "comment"
→ comment + ํ์ฌ ๋ณ๊ฒฝ๋ด์ญ ์ปค๋ฐ (Staging Area์ ์๋ ๋ณ๊ฒฝ๋ด์ญ์ Repository์ ๋ฐ์)
# git commit -am "comment"
→ git add . + git commit -m "comment" ํฉ์น ๋ช
๋ น์ด
→ ๋จ, ์๋ก ์ถ๊ฐ๋ Untracked ํ์ผ์ด ์์ ๋ ํ์
4) ์ด์ ์ปค๋ฐ์ผ๋ก rollbackํ๋ ๋ช ๋ น์ด
[๊ฐ์ ]
(1) a.txt ์ถ๊ฐ
(2) b.txt ์ถ๊ฐ
(3) a.txt ์์
(4) c.txt ์ถ๊ฐ
# git reset --soft ์ปค๋ฐํด์
→ Repository์์ Staing Area๋ก ์ด๋
→ ์ฆ, ํด๋น ์ปค๋ฐํด์๋ก ์ด๋ํ๋ ์ด์ ์ ๋ณ๊ฒฝ๋ด์ญ์ Staing Area์ ๋จ์์์
→ (2)๋ฒ ์ปค๋ฐ๋ด์ญ์ผ๋ก ์ด๋ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด (4)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ ์์ ํ ์ญ์ ๋๊ณ (3)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ ์ง์์ง์ง ์๊ณ Staing Area์ ๋จ์์์
# git reset --mixed ์ปค๋ฐํด์ (default)
→ Repository์์ Working Directory๋ก ์ด๋
→ ์ฆ, ํด๋น ์ปค๋ฐํด์๋ก ์ด๋ํ๋ ์ด์ ์ ๋ณ๊ฒฝ๋ด์ญ์ Working Directory์ ๋จ์์์
→ (2)๋ฒ ์ปค๋ฐ๋ด์ญ์ผ๋ก ์ด๋ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด (4)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ ์์ ํ ์ญ์ ๋๊ณ (3)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ ์ง์์ง์ง ์๊ณ Working Directory์ ๋จ์์์
# git reset --hard ์ปค๋ฐํด์
→ ์์ ์ฌํญ์ ์์ ํ ์ญ์ ํจ
→ (2)๋ฒ ์ปค๋ฐ๋ด์ญ์ผ๋ก ์ด๋ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด (3), (4)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ ์์ ํ ์ญ์ ๋๋ค.
→ ์ปค๋ฐํด์๋ฅผ ์ ์ด์ฃผ์ง ์์ผ๋ฉด ๋ง์ง๋ง ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๊ฒ ๋จ
# git revert ์ปค๋ฐํด์
→ reset๊ณผ ๋ฌ๋ฆฌ ์ปค๋ฐ๋ด์ญ์ ์ง์ฐ์ง ์๊ณ ๋๋๋ฆฌ๊ธฐ ์ํ๋ ์์ ์ ์ปค๋ฐ์ ๋ณ๊ฒฝ๋ด์ญ์ ๊ฑฐ๊พธ๋ก ์คํํ ๋ค, ์ปค๋ฐ์ ํ๊ฒ ๋๋ค.
→ ์ฆ, (2)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ revertํ๋ฉด "(5) b.txt ์ญ์ " ์ปค๋ฐ์ด ๋ฐ์ํ๋ค.
→ ๋ง์ฝ์, ์ค๊ฐ์ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ถฉ๋๋๋ ํ์ผ ์์ ํ, git revert --continue๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
→ ์๋ฅผ ๋ค์ด, (1)๋ฒ์ ์ปค๋ฐ๋ด์ญ์ revertํ๊ฒ ๋๋ฉด (3)๋ฒ ์ปค๋ฐ์์ ํด๋น ํ์ผ์ ์์ ํ์์ผ๋ฏ๋ก ์ถฉ๋์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํด๋น ํ์ผ์ ์ง์ ์ญ์ ํ ๋ค์ git revert --continue๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
# git revert ์ปค๋ฐํด์ --no-commit
→ ๋๋๋ฆฌ๋ ์ํ๋ ์์ ์ ์ปค๋ฐ์ ๋ณ๊ฒฝ๋ด์ญ์ ๊ฑฐ๊พธ๋ก ์คํํ ๋ค, Commit์ ํ์ง ์๊ธฐ์ ์ถ๊ฐ์ ์ผ๋ก ๋ค๋ฅธ ์์
์ ์งํํ ๋ค์ ์ปค๋ฐํ ์ ์๊ฒ ํด์ค๋ค.
→ ๋ง์ฝ, ํด๋น revert ๊ณผ์ ์์ฒด๋ฅผ ์ทจ์ํ๊ณ ์ถ๋ค๋ฉด git reset --hard๋ฅผ ํด์ค๋ค.
# git restore --source=์ปค๋ฐํด์ ํ์ผ๋ช
→ํน์ ํ์ผ์ ์ํ๋ ์ปค๋ฐ ์์ ์ ์ํ๋ก ๋๋๋ฆฐ๋ค.
[์ฐธ๊ณ ] reset vs revert
- reset, revert๋ ๊ฐ๊ฐ ๊ณผ๊ฑฐ์ ์ปค๋ฐ๋ด์ญ์ผ๋ก ๋์๊ฐ ์ ์์ง๋ง reset์ ์ด์ ์ ์ปค๋ฐ๋ด์ญ์ ์ญ์ ํ๊ณ revert๋ ๊ธฐ์กด์ ์ปค๋ฐ ๋ด์ญ์ ์ ์งํ๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
- ์ปค๋ฐ ๋ด์ญ์ ์๊ฒฉ ์ ์ฅ์์ pushํ์ฌ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ปค๋ฐ๋ด์ญ์ด ๊ณต์ ๊ฐ ๋ ๊ฒฝ์ฐ์, reset์ ์ฐ๋ฉด ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ฝ๋์ ์ฌ๊ฐํ ์ถฉ๋์ ์ผ์ผํฌ ์ฌ์ง๊ฐ ์์ผ๋ฏ๋ก ํ ๋ฒ ๊ณต์ ๊ฐ ๋ ์ปค๋ฐ๋ค์ revert๋ฅผ ์ด์ฉํด์ ๋๋๋ฆฌ๋๋ก ํ๋ค.
[์ฐธ๊ณ ] reset ๋ณต๊ตฌ
- reset์ ์์์ ๋งํ๋ค์ํผ ์ปค๋ฐ ๋ด์ญ์ ์ญ์ ํ๋ค๊ณ ํ์๋๋ฐ ๋ง์ฝ์ ์ค์๋ก reset ๋ช ๋ น์ด๋ก ์ญ์ ํ์ง ๋ง์์ผ ํ ์ปค๋ฐ ๋ด์ญ์ ์ญ์ ํ์ ๊ฒฝ์ฐ์๋ git reflog ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ญ์ ํ ์ปค๋ฐ ๋ด์ญ์ ๋ณต๊ตฌํ ์ ์๋ค.
- reflog ๋ช ๋ น์ด๋ Git์์ ์ํํ ์์ ๋ด์ญ์ ์ถ๋ ฅํ๋ฏ๋ก ๊ณผ๊ฑฐ์ ์ํํ ์์ ๋ด์ญ์ ์ดํด๋ณด๊ณ ํด๋น ์์ ์ผ๋ก ๋๋๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ์ค์๋ก reset ํ์ด๋ ๋ณต๊ตฌํ ์ ์๋ ๊ฒ์ด๋ค.
git reset --hard HEAD~4
git reflog
5379d71 (HEAD -> main) HEAD@{0}: reset: moving to HEAD~4
df279d4 HEAD@{1}: rebase (finish): returning to refs/heads/main
...
...
...
git reset --hard 5379d71
5) ๋ธ๋์น ๊ด๋ จ ๋ช ๋ น์ด
# git branch
→ ๋ธ๋์น ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ฉฐ, "*" ํ์ ์๋ ๊ณณ์ด ํ์ฌ ์์
์ค์ธ ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํด
# git branch ๋ธ๋์น๋ช
→ ๋ธ๋์น๋ฅผ ์์ฑ
# git switch ๋ธ๋์น๋ช
→ ํด๋น ๋ธ๋์น๋ก ์ด๋
# git switch -c ๋ธ๋์น๋ช
→ ๋ธ๋์น ์์ฑํ๋ฉด์ ํด๋น ๋ธ๋์น๋ก ์ด๋
→ "git checkout -b ๋ธ๋์น๋ช
" ๋ช
๋ น์ด์ ๋์ผํ์ง๋ง Git 2.23 ๋ฒ์ ์ดํ๋ถํฐ Checkout ๋ช
๋ น์ด์ ์ผ๋ถ ๊ธฐ๋ฅ์ด switch, restore๋ก ๋ถ๋ฆฌ๋จ์ ๋ฐ๋ผ switch ๋ช
๋ น์ด๋ฅผ ์ ๊ทน ์ฌ์ฉํ๋๋ก ํ์
# git branch -d ๋ธ๋์น๋ช
→ ๋ธ๋์น๋ฅผ ์ญ์
# git branch -D ๋ธ๋์น๋ช
→ ์ญ์ ํ ๋ธ๋์น์ ์ปค๋ฐ ๋ด์ฉ์ด ๋ค๋ฅธ ๋ธ๋์น๋ก ๋ณํฉ๋์ง ์์ ๊ฒฝ์ฐ, ๊ทธ๋์ ์์
ํ ๋ด์ฉ์ด ์์ด ์ญ์ ๊ฐ ์๋ ๋๋ -D ์ต์
์ ์ฃผ์ด ๊ฐ์ ์ญ์ ํด์ผ ํ๋ค.
# git branch -m "๊ธฐ์กด ๋ธ๋์น๋ช
" "์ ๋ธ๋์น๋ช
"
→ ๋ธ๋์น ์ด๋ฆ ๋ณ๊ฒฝ
6) ๋ธ๋์น ๋ณํฉ (merge, rebase)
[๊ธฐ์กด]
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ ใ
ฃ
ใ
ฃ ใ
ฃ
ใ
ฃ /
ใ
ฃ/
ใ
ฃ sHu ๋ธ๋์น
main ๋ธ๋์น
[merge]
ใ
ฃ
ใ
ฃ\
ใ
ฃ \
ใ
ฃ ใ
ฃ
ใ
ฃ ใ
ฃ
ใ
ฃ /
ใ
ฃ/
ใ
ฃ sHu ๋ธ๋์น
main ๋ธ๋์น
[rebase]
ใ
ฃ sHu ๋ธ๋์น (HEAD)
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ main ๋ธ๋์น (HEAD)
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ sHu ๋ธ๋์น
main ๋ธ๋์น
# git merge "๋ณํฉํ ๋ธ๋์น๋ช
"
→ ๋ ๋ธ๋์น๋ฅผ ํ ์ปค๋ฐ์ ์ด์ด๋ถ์ด๋ฉฐ, ๋ธ๋์น์ ์ฌ์ฉ๋ด์ญ์ ๋จ๊ธธ ํ์๊ฐ ์์ ๋, ์ฌ์ฉํ๋ค.
→ ๋ธ๋์น๋ฅผ merge ํ ๋๋ ๋ณํฉํ ๋ธ๋์น๊ฐ ์๋๋ผ ๋ณํฉ๋๋ ๋ธ๋์น์์ ํด๋น ์ปค๋งจ๋๋ฅผ ์งํํด์ผ ํ๋๋ฐ ์๋ฅผ ๋ค์ด, ์์ sHu ๋ธ๋์น๊ฐ main ๋ธ๋์น๋ก merge ํ๊ณ ์ ํ๋ค๋ฉด main ๋ธ๋์น์์ merge ์ปค๋งจ๋๋ฅผ ์คํํด์ผ ํ๋ค.
→ ๋ํ, merge๋ ํ๋์ ์ปค๋ฐ์ด๋ฏ๋ก reset์ผ๋ก merge ์ ์ผ๋ก ๋๋๋ฆด ์ ์์ผ๋ฉฐ merge ํ ๋ค์, ๋ณํฉ๋ ๋ธ๋์น (sHu)๋ ์ญ์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
→ ๋ง์ง๋ง์ผ๋ก merge ์คํ ์, ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ง์ ์ถฉ๋์ด ๋ฐ์ํ๋ ๋ถ๋ถ์ ์์ ํ ๋ค์ git add + git commit์ ํตํด ์ถฉ๋์ ํด๊ฒฐํ๋ค.
→ ๋ง์ฝ ์ถฉ๋์ด ๋ฐ์ํ๋ ํ์ผ์ด ๋ง์ผ๋ฉด git merge --abort๋ก merge ๊ณผ์ ์ ์ค๋จ์ํฌ ์๋ ์๋ค.
# git rebase "๋ณํฉํ ๋ธ๋์น๋ช
"
→ ๋ธ๋์น๋ฅผ ๋ค๋ฅธ ๋ธ๋์น์ ์ด์ด๋ถ์ด๋ฉฐ ํ ์ค๋ก ๊น๋ํ ์ ๋ฆฌ๋ ๋ด์ญ์ ์ ์งํ๊ธฐ ์ํ ๋ ์ ํฉํ ๋ฐฉ์์ด๋ค.
→ merge ๋ฐฉ์์ ๋ธ๋์น์ ์ฌ์ฉ ๋ด์ญ์ ๋จ๊ธฐ๊ธฐ ๋๋ฌธ์ ์์ฒ ๊ฐ์ ๋ธ๋์น๊ฐ ์์ฑ๋๋ค๋ฉด ๋ธ๋์น์ ๊ตฌ์กฐ๊ฐ ๊ต์ฅํ ๋ณต์กํด์ง๋๋ฐ ์ด๋ฌํ ๊ฒฝ์ฐ rebase๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋์น์ ์ฌ์ฉ ๋ด์ญ์ ๋จ๊ธฐ์ง ์๊ณ ๊ธฐ์กด์ ๋ธ๋์น์ ์ด์ด๋ถ์ด๊ฒ ๋๋ฏ๋ก ๊ตฌ์กฐ๊ฐ ๋จ์ํด์ง๋ค.
→ ๋ํ, ํ์๊ณผ ๊ณต์ ๋ ์ปค๋ฐ์ ๋ํด์๋ rebase๋ฅผ ์ฐ๊ฒ ๋๋ฉด ์ถฉ๋์ ๋ฐ์ํ ์ฌ์ง๊ฐ ์์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ์๋๋ก ํ๋ค.
→ merge์๋ ๋ค๋ฅด๊ฒ ๋ณํฉ๋๋ ๋ธ๋์น๊ฐ ์๋๋ผ ๋ณํฉํ ๋ธ๋์น์์ ํด๋น ์ปค๋งจ๋๋ฅผ ์งํํด์ผ ํ๋๋ฐ ์๋ฅผ ๋ค์ด, ์์ sHu ๋ธ๋์น๊ฐ main ๋ธ๋์น๋ก rebase ํ๊ณ ์ ํ๋ค๋ฉด main ๋ธ๋์น๊ฐ ์๋๋ผ sHu ๋ธ๋์น์์ rebase ์ปค๋งจ๋๋ฅผ ์คํํด์ผ ํ๋ค.
→ ๊ทธ๋ฆฌ๊ณ rebase๋ ๋จ์ํ ๋ธ๋์น๋ฅผ ๋ค๋ฅธ ๋ธ๋์น์ ์ด์ด ๋ถ์ธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ main ๋ธ๋์น๋ก ์ด๋ํ์ฌ git merge sHu ๋ธ๋์น ๋ช
๋ น์ ์คํํด์ฃผ์ด์ผ ํด๋น ๋ธ๋์น์ ์์ ์ผ๋ก HEAD๊ฐ ์ด๋ํ๊ฒ ๋๋ค.
→ ๋ํ, merge ๋์ ๋์ผํ๊ฒ ๋ณํฉํ ๋ธ๋์น (sHu)๋ ์ญ์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
→ ๋ง์ง๋ง์ผ๋ก rebase ์คํ ์, ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ง์ ์ถฉ๋์ด ๋ฐ์ํ๋ ๋ถ๋ถ์ ์์ ํ ๋ค์ git add + git rebase --continue๋ฅผ ํตํด ์ถฉ๋์ ํด๊ฒฐํ๋๋ฐ merge ๋ฐฉ์์์๋ ์ด์ด๋ถ์ด๊ณ ์ ํ๋ ๋ธ๋์น์ ์ต์ข
์ปค๋ฐ๋ง ๋ค๋ฃจ๋๋ฐ rebase๋ ๋ธ๋์น๋ฅผ ์ด์ด๋ถ์ด๋ ๊ฑฐ๋ผ์ ์ด์ด๋ถ์ธ ๋ธ๋์น์ ์ปค๋ฐ์ด ์ฌ๋ฌ ๊ฐ์ด๊ณ ์ปค๋ฐ๋ง๋ค ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ถฉ๋์ด ๋ฐ์ํ๋ ์ปค๋ฐ ์ ๋งํผ git add + git rebase --continue๋ฅผ ๋ฐ๋ณตํด์ผ ํ๋ค.
→ ์ถฉ๋์ด ๋ชจ๋ ํด๊ฒฐ๋๋ฉด git merge ๋ธ๋์น๋ก ๋ง๋ฌด๋ฆฌํ๊ณ , ์ถฉ๋์ด ๋๋ฌด ๋ง์ด ๋ฐ์ํด์ ๋ฐ๋ก ํด๊ฒฐํ์ง ๋ชปํ ๊ฑฐ ๊ฐ์ผ๋ฉด git rebase --abort๋ก rebase ๊ณผ์ ์ ์ค๋จ์ํฌ ์๋ ์๋ค.
[์ ๋ฆฌ] ๋ธ๋์น ๋ณํฉ ๊ณผ์ - merge, rebase
[๊ฐ์ ]
ใ
ฃ
ใ
ฃ
ใ
ฃ
ใ
ฃ ใ
ฃ
ใ
ฃ ใ
ฃ
ใ
ฃ /
ใ
ฃ/
ใ
ฃ sHu ๋ธ๋์น
main ๋ธ๋์น
- ์์ ๊ฐ์ด main ๋ธ๋์น, sHu ๋ธ๋์น๊ฐ ์๊ณ sHu ๋ธ๋์น๋ฅผ main ๋ธ๋์น์ ๋ณํฉํ๋๋ก merge, rebase ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
- merge ๋ฐฉ์
โ main ๋ธ๋์น์์ "git merge sHu" ๋ช ๋ น์ ์คํ
โก merge ์คํ ์, ์ถฉ๋์ด ๋ฐ์ํ์ฌ ์ถฉ๋์ด ๋ฐ์ํ๋ ํ์ผ ์์
โข main ๋ธ๋์น์์ git add + git commit ์ผ๋ก merge ์ถฉ๋ ํด๊ฒฐ → merge ์๋ฃ
โฃ ๋ง์ฝ, ์ถฉ๋ ํ์ผ์ด ๋ง์ merge๋ฅผ ์ทจ์ํ๊ณ ์ ํ๋ค๋ฉด git merge --abort ์คํ
- rebase ๋ฐฉ์
โ sHu ๋ธ๋์น์์ "git rebase main" ๋ช ๋ น์ ์คํ
โก rebase ์คํ ์, ์ถฉ๋์ด ๋ฐ์ํ์ฌ ์ถฉ๋์ด ๋ฐ์ํ๋ ํ์ผ ์์
โข git add + git rebase --continue ์ผ๋ก rebase ์ถฉ๋ ํด๊ฒฐ
โฃ ๋ง์ฝ, sHu ๋ธ๋์น ์ปค๋ฐ ์๋งํผ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด (2) ~ (3) ๊ณผ์ ์ ์ปค๋ฐ ์๋งํผ ๋ฐ๋ณต
โค main ๋ธ๋์น๋ก ์ด๋ (git switch main)
โฅ main ๋ธ๋์น์์, "git merge sHu" ๋ช ๋ น์ ์คํ → rebase ์๋ฃ
โฆ ๋ง์ฝ, ์ถฉ๋ ํ์ผ์ด ๋ง์ rebase๋ฅผ ์ทจ์ํ๊ณ ์ ํ๋ค๋ฉด git rebase --abort ์คํ
'๐ ์ฐ์ฌ ์๋ฆฌ์ฆ > ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ์๋ฉด ์ข์ ๋ด์ฉ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ธ๋์น ๊ด๋ฆฌ ์ ๋ต (Git-Flow)์ ๋ํด ์์๋ณด์! (0) | 2023.09.26 |
---|---|
VSCode ์ ์ฉํ Extension ๋ชจ์ (์ ๋ฆฌ์ค) (0) | 2023.07.30 |
๋ฉํฐ ์ค๋ ๋ - ์์์ฑ (Atomicity) (0) | 2023.05.03 |
๋ฉํฐ ์ค๋ ๋ - ๊ฐ์์ฑ (Visibility) (0) | 2023.05.03 |
๋์์ฑ (Concurrency) ๋ฐ ๋ณ๋ ฌ์ฑ (Parallelism) (0) | 2023.05.02 |