[GIT] Conflict

mean_gยท2022๋…„ 8์›” 12์ผ
0

[ Git & ETC ]

๋ชฉ๋ก ๋ณด๊ธฐ
1/2

1. conflict ๋ฐœ์ƒ


conflict๋Š” ์ง์—ญํ•˜๋ฉด '์ถฉ๋Œ'์ด๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋‚ด๊ฐ€ ์ง€๊ธˆ ์˜ฌ๋ฆฐ PR์˜ ์ฝ”๋“œ์™€ ์ด๋ฏธ merge๋œ ์ฝ”๋“œ๊ฐ€ ๊ฐ™์€ ๋ถ€๋ถ„์ด ๋‹ฌ๋ผ์ ธ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.
git์œผ๋กœ ํ˜‘์—…์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ž์ฃผ ์ผ์–ด๋‚˜๋Š” ์ƒํ™ฉ์ด์ง€๋งŒ, conflict๋ฅผ ์ฒ˜์Œ ๋ดค์„ ๋• ์กฐ๊ธˆ ๋งŽ์ด ๋‹นํ™ฉํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹คํ–‰ํžˆ๋„ ๋ฉ˜ํ† ๋‹˜๊ณผ ํ•จ๊ป˜์˜€๊ธฐ์—๐Ÿ˜‡ ๋ฉ˜ํ† ๋‹˜์ด ์•Œ๋ ค์ฃผ์‹  ํŒ ๋•๋ถ„์— ์ดํ›„ conflict๊ฐ€ ๋‚˜๋ฉด ์ฐจ๊ทผ์ฐจ๊ทผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค!

2. ํ•ด๊ฒฐํ•˜๊ธฐ

1) main ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•˜๊ธฐ

git checkout main ์„ ์ด์šฉํ•ด์„œ main์œผ๋กœ ์ด๋™ํ•œ๋‹ค.
-> git pull main์œผ๋กœ git์— merge(rebase)๋œ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ฐ›์•„์˜จ๋‹ค.

2) ์ž‘์—… ๋ธŒ๋žœ์น˜๋กœ ๋Œ์•„๊ฐ€๊ธฐ

git checkout ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์œผ๋กœ ์ž‘์—…ํ•˜๋˜ ๋ธŒ๋žœ์น˜๋กœ ๋‹ค์‹œ ์ด๋™ํ•ด ์ค€๋‹ค.
-> git merge main ํ˜น์€ git rebase -i main์œผ๋กœ main์„ ๋ฐ›์•„์˜จ๋‹ค.

3) conflict ํ•ด๊ฒฐํ•˜๊ธฐ

์—๋Ÿฌ ๋ฉ”์„ธ์ง€๊ฐ€ ๋œจ๋ฉด code .ํ˜น์€ ์ง์ ‘ vsc๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ชฉ๋ก์— ๋นจ๊ฐ„ ๊ธ€์”จ๋กœ ๋ฐ”๋€ ํŒŒ์ผ๋ช…๊ณผ ๋นจ๊ฐ„์ƒ‰ !๋ฅผ ์ฐพ์•„์ค€๋‹ค.
-> ํ•ด๋‹น ํŒŒ์ผ์— ์—ฐํ•œ ๊ธ€์”จ๋กœ Accept ~~๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์ญ‰ ์ ํžŒ ์ค„์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

-> ์„ฑํ–ฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ๋ฉ˜ํ† ๋‹˜์€ ์ „ํ›„ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๋น„๊ต ํ›„ ์ •๋ฆฌํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜์‹ ๋‹ค๊ณ  ํ•˜์…จ๊ณ , conflict๋ฅผ ๋ช‡ ๋ฒˆ ๊ฒช์–ด๋ณด๋‹ˆ... ๊ทธ๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ญ‰ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

-> conflict ๋‚œ ์ฝ”๋“œ๋“ค ์ •๋ฆฌ ํ›„ ์ €์žฅํ•ด ์ฃผ๊ธฐ
-> ์ฐจ๋ถ„ํ•˜๊ฒŒ git add . ํ›„ commit ์„ ๋‹ค์‹œ ๋‚จ๊ฒจ์ฃผ๊ณ , push๋ฅผ ํ•˜๋ฉด ๋๋‚œ๋‹ค!

profile
Backend Dev

0๊ฐœ์˜ ๋Œ“๊ธ€