Git Conflict ํด๊ฒฐ ๋ฐฉ๋ฒ
๐ merge conflict
merge๋ฅผ ํ๋ ๊ณผ์ ์์ ์๋์ ์ผ๋ก ํด๊ฒฐ์ด ์๋๋ ์ถฉ๋์ด ๋ฐ์ํ ์ํฉ์ ๋งํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์๋ก ๋ค๋ฅธ ๋ธ๋์น์์ ๋์ผํ ํ์ผ์ ์์ ํ์ ๋ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์๋์ ๊ฐ์ด merge conflict๊ฐ ๋ฐ์ํ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
Automatic merge failed: ์๋ merge๊ฐ ์คํจ ๋จ.
git status
๋ฅผ ์
๋ ฅํด ํ์ธํด ๋ณด๋ฉด ๋์์ ์์ ๋ ํ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.
cat (ํ์ผ๋ช
)
์ ์
๋ ฅํ๋ฉด conflict๊ฐ ๋ฐ์ํ ๋ถ๋ถ์ ์๋ ค์ฃผ๊ธฐ ์ํด ์๋์ผ๋ก ์ฝ์
๋ ๋ฌธ์์ด์ ํ์ธํ ์ ์์ต๋๋ค.
๐ merge conflict ์๋์ ํด๊ฒฐ๋ฐฉ๋ฒ
-
open ํด๋น ํ์ผ (์๋์ฐ: start ํด๋นํ์ผ)
๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ conflict๊ฐ ๋ฐ์ํ ํ์ผ์ ์ด์ด์ค๋๋ค.
-
์ฌ์ฉํ ๋ถ๋ถ์ ์ ์ธํ๊ณ ์ญ์ ํ๊ฑฐ๋, ๋ชจ๋ ๋ค ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๋ฉ์ธ์ง๋ง ์ญ์ ํ์ฑ ์ ์ฅํ ๋ค ํ์ผ์ ๋ซ์ต๋๋ค.
-
git add
๋ฅผ ์ด์ฉํด conflict๊ฐ ํด๊ฒฐ๋์์์ ์๋ ค์ค๋๋ค.
-
git merge --continue
๋ฅผ ์ ๋ ฅํด merge๋ฅผ ๋ง๋ฌด๋ฆฌํฉ๋๋ค.
๐ merge conflict tool์ ์ด์ฉํ ํด๊ฒฐ๋ฐฉ๋ฒ: vscode
-
git config --global -e
๋ฅผ ์ ๋ ฅํด์ vscode๋ฅผ ์ด์ด์ค๋๋ค. -
์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ merge tool์ vscode๋ก ๋ค๋ฃฐ ์ ์๊ฒ ์ ์ฉํฉ๋๋ค.
-
conlict๊ฐ ๋ฐ์ํ์ ๋,
git mergetool
์ ์ ๋ ฅํ๋ฉด vscode๋ก ํด์ด ์ด๋ฆฌ๋ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
๐ merge conflict tool์ ์ด์ฉํ ํด๊ฒฐ๋ฐฉ๋ฒ: p4merge
-
p4merge๋ฅผ ๊ฒ์ ํ ๋ค์ด๋ฐ์ต๋๋ค.
-
์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ merge tool์ p4code๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํฉ๋๋ค.
-
conlict๊ฐ ๋ฐ์ํ์ ๋,
git mergetool
์ ์ ๋ ฅํ๋ฉด vscode๋ก ํด์ด ์ด๋ฆฌ๋ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
- ๋๋ฆผ์ฝ๋ฉ
๐ฌ ์ต์ ๋๊ธ