Search

Git Conflict & ์ถฉ๋Œ ํ•ด๊ฒฐ

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
๋ณต์‚ฌ