Git Conflict(์ถฉ๋)์ด๋?
Git์์ ์ถฉ๋์ ๋์ผํ ํ์ผ์ ๊ฐ์ ๋ถ๋ถ์ ์ฌ๋ฌ ์ฌ๋์ด ์๋ก ๋ค๋ฅด๊ฒ ์์ ํ์ ๋ ๋ฐ์ํฉ๋๋ค. Git์ด ์ด๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ํํด์ผ ํ ์ง ์๋์ผ๋ก ํ๋จํ์ง ๋ชปํ๋ ์ํฉ์ ์๋ฏธํฉ๋๋ค.
์ถฉ๋์ด ๋ฐ์ํ๋ ์ผ๋ฐ์ ์ธ ์ํฉ
โข
์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์ผํ ํ์ผ์ ๋์ผํ ์ค์ ์์ ํ ๋
โข
ํ ๋ธ๋์น์์ ํ์ผ์ ์์ ํ๊ณ , ๋ค๋ฅธ ๋ธ๋์น์์ ๊ฐ์ ํ์ผ์ ์ญ์ ํ์ ๋
โข
์๋ก ๋ค๋ฅธ ๋ธ๋์น์์ ๊ฐ์ ์ด๋ฆ์ ํ์ผ์ ์์ฑํ์ ๋
์ถฉ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ
1.
์ถฉ๋ ํ์ธ
2.
์ถฉ๋ ํด๊ฒฐ
a.
ํ์ธ
b.
์์
c.
์คํ
์ด์ง
d.
์ปค๋ฐ & ํธ์
e.
๋จธ์ง
1. ์ถฉ๋ ํ์ธ
Git์ ์ถฉ๋์ด ๋ฐ์ํ ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ํ์ํฉ๋๋ค:
2. ์ถฉ๋ ํด๊ฒฐ ๋จ๊ณ
git status ๋ช
๋ น์ด๋ก ์ถฉ๋์ด ๋ฐ์ํ ํ์ผ๋ค์ ํ์ธํฉ๋๋ค.
์ถฉ๋์ด ๋ฐ์ํ ๋ถ๋ถ์ ์๋์ผ๋ก ํธ์งํ์ฌ ์ต์ข
๋ฒ์ ์ ๊ฒฐ์ ํฉ๋๋ค.
ํ์ฌ ๋ณ๊ฒฝ์ฌํญ์ผ๋ก ์์
๋ค์ด์จ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์์
git add ๋ช
๋ น์ด๋ก ์์ ๋ ํ์ผ์ ์คํ
์ด์ง ์์ญ์ ์ถ๊ฐํฉ๋๋ค.
git commit ์ผ๋ก ์ถฉ๋ ํด๊ฒฐ ๋ด์ฉ์ ์ปค๋ฐํฉ๋๋ค.
git merge ๋ช
๋ น์ด๋ก ์ถฉ๋ ํด๊ฒฐ ์ฌํญ์ ๋ณํฉํฉ๋๋ค.
์ถฉ๋ ์๋ฐฉ ๋ฐฉ๋ฒ
โข
์ ๊ธฐ์ ์ธ Pull: ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ ์์ฃผ ๊ฐ์ ธ์ ์์
ํ๊ธฐ
โข
์์ ๋จ์์ ์ปค๋ฐ: ํฐ ๋ณ๊ฒฝ์ฌํญ์ ์์ ๋จ์๋ก ๋๋์ด ์ปค๋ฐํ๊ธฐ
โข
๋ธ๋์น ์ ๋ต: ํจ๊ณผ์ ์ธ ๋ธ๋์น ๊ด๋ฆฌ ์ ๋ต ์๋ฆฝํ๊ธฐ
์ ์ฉํ Git ๋ช ๋ น์ด
# ์ถฉ๋ ์ํ ํ์ธ
git status
# ์ถฉ๋ ํด๊ฒฐ ํ ์คํ
์ด์ง
git add <ํ์ผ๋ช
>
# ์ถฉ๋ ํด๊ฒฐ ์ปค๋ฐ
git commit -m "Resolve merge conflict"
# ๋ณํฉ ์ค๋จ
git merge --abort
Bash
๋ณต์ฌ


