Git ๋ณํฉ ์ถฉ๋ ํด๊ฒฐํ๊ธฐ: ์ถฉ๋ ์์ธ๋ถํฐ ํด๊ฒฐ ๋๊ตฌ๊น์ง ์๋ฒฝ ๊ฐ์ด๋ โ๏ธ
๊ฐ๋ฐ ์์ ์ ํ๋ค ๋ณด๋ฉด ์ฌ๋ฌ ๋ช ์ด ๊ฐ์ ํ์ผ์ ์์ ํ๊ฒ ๋๊ณ , ์ด๋ก ์ธํด ๋ณํฉ ์ถฉ๋(merge conflict) ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค. ์ถฉ๋์ ํ์ ํ๋ก์ ํธ์ ์ผ์์ ์ธ ์ผ๋ถ๋ถ์ด์ง๋ง, ๊ทธ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ดํดํ๊ณ ์์ผ๋ฉด ์ถฉ๋์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๋ณํฉ ์ถฉ๋์ ์์ธ, ์๋ฐฉ๋ฒ, ์ถฉ๋ ๋ฐ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ๊ณผ ์ ์ฉํ ๋๊ตฌ๋ค์ ์๊ฐํ๊ฒ ์ต๋๋ค.
1. ๋ณํฉ ์ถฉ๋์ ์์ธ: ์ ๋ฐ์ํ ๊น?
๋ณํฉ ์ถฉ๋ ์ ๋ ๋ช ์ด์์ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ ํ์ผ์ ๊ฐ์ ๋ถ๋ถ์ ์์ ํ ๋ ๋ฐ์ํฉ๋๋ค. ์ถฉ๋์ ์ฝ๋ ๋ณํฉ ์ Git์ด ์๋์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ ๋ ๋ฐ์ํ๋ฉฐ, ์ถฉ๋์ ํด๊ฒฐํ์ง ์์ผ๋ฉด ๋ณํฉ์ ์๋ฃํ ์ ์์ต๋๋ค.
๋ณํฉ ์ถฉ๋์ ์ฃผ์ ์์ธ
์์ธ | ์ค๋ช |
---|---|
๋์ผ ํ์ผ์ ๋์ผํ ๋ผ์ธ ์์ | ๋ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ๋์ผํ ํ์ผ์ ๊ฐ์ ์ค์ ์์ ํ ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. |
ํ์ผ ์ญ์ ์ ์์ ์ด ๋์์ ๋ฐ์ | ํ ์ฌ์ฉ์๋ ํ์ผ์ ์ญ์ ํ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๋ ๋์ผ ํ์ผ์ ์์ ํ ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. |
๋ค์ํ ๋ธ๋์น ๋ณํฉ ์ | ๊ธฐ๋ฅ๋ณ ๋ธ๋์น๋ฅผ ๋ณํฉํ ๋, ์๋ก ์์ถฉ๋๋ ์์ ์ฌํญ์ด ์์ ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. |
2. ๋ณํฉ ์ถฉ๋ ์๋ฐฉ๋ฒ: ์ถฉ๋์ ๋ฏธ๋ฆฌ ๋ฐฉ์งํ๊ธฐ ์ํ ํ
๋ณํฉ ์ถฉ๋์ ์์ ํ ํผํ ์๋ ์์ง๋ง, ๋ช ๊ฐ์ง ์๋ฐฉ ๋ฐฉ๋ฒ์ ํตํด ์ถฉ๋ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์ค์ผ ์ ์์ต๋๋ค.
- ์์ ๋จ์์ ์ปค๋ฐ : ํฐ ๋ณ๊ฒฝ ์ฌํญ๋ณด๋ค ์์ ๋จ์๋ก ์ปค๋ฐํ๋ฉด ์ถฉ๋ ํด๊ฒฐ์ด ๋ ์ฌ์์ง๋๋ค.
- ์ ๊ธฐ์ ์ธ Pull ์์ฒญ : ์์
๋์ค ์์ฃผ
git pull
์ ํตํด ์ต์ ์๊ฒฉ ์ ์ฅ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๋ฉด ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์ค์ผ ์ ์์ต๋๋ค. - ๋ช ํํ ๋ธ๋์น ๊ด๋ฆฌ : ๊ธฐ๋ฅ๋ณ๋ก ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ๊ณ , ์์ ์๋ฃ ํ ๋ณํฉ์ ์์ฃผ ์ํํ๋ฉด ๋ณต์กํ ์ถฉ๋์ ์ค์ผ ์ ์์ต๋๋ค.
- ์ ๊ทน์ ์ธ ์ปค๋ฎค๋์ผ์ด์ : ํ์ ์ค์๋ ํ์๊ณผ ์ด๋ค ํ์ผ์ ์์ ์ค์ธ์ง ๊ณต์ ํ๊ณ , ์๋ก ์์ถฉ๋๋ ๋ถ๋ถ์ด ์๋๋ก ์ฌ์ ์ ์กฐ์จํฉ๋๋ค.
3. ์ถฉ๋ ๋ฐ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋จ๊ณ๋ณ ์ถฉ๋ ํด๊ฒฐ ๊ฐ์ด๋
์ถฉ๋์ด ๋ฐ์ํ๋ฉด Git์ ์ถฉ๋๋ ํ์ผ์ ํ์ ํ๊ณ , ์ฌ์ฉ์๊ฐ ์ถฉ๋์ ์๋์ผ๋ก ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๋ค์์ ์ถฉ๋์ ํด๊ฒฐํ๋ ์ผ๋ฐ์ ์ธ ๋จ๊ณ์ ๋๋ค.
3.1 ์ถฉ๋ ํ์ผ ํ์ธํ๊ธฐ
git status
git status
๋ช
๋ น์ด๋ฅผ ํตํด ์ถฉ๋์ด ๋ฐ์ํ ํ์ผ์ ํ์ธํ ์ ์์ต๋๋ค. ์ถฉ๋๋ ํ์ผ์๋
CONFLICT
๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
3.2 ์ถฉ๋ ๋ด์ฉ ์์ ํ๊ธฐ
์ถฉ๋์ด ๋ฐ์ํ ํ์ผ์ ์ด์ด๋ณด๋ฉด ์ถฉ๋ ์ง์ ์ด ํ์ ๋์ด ์์ต๋๋ค.
<<<<<<< HEAD
ํ์ฌ ๋ธ๋์น์ ๋ด์ฉ
=======
๋ณํฉํ๋ ค๋ ๋ธ๋์น์ ๋ด์ฉ
>>>>>>> feature-branch
HEAD
๋ถ๋ถ์ ํ์ฌ ๋ธ๋์น์ ์ฝ๋ ์ด๋ฉฐ, ๊ทธ ์๋๋ ๋ณํฉํ๋ ค๋ ๋ธ๋์น์ ์ฝ๋ ์ ๋๋ค.- ์ถฉ๋ ์ง์ ์ ๊ฒํ ํ๊ณ , ์ํ๋ ์ฝ๋๋ง ๋จ๊ธฐ๊ฑฐ๋ ๋ ์ฝ๋๋ฅผ ๋ณํฉํ์ฌ ์๋ก์ด ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
3.3 ์ถฉ๋ ํด๊ฒฐ ํ ๋ณ๊ฒฝ ์ฌํญ ์ ์ฅํ๊ธฐ
์ถฉ๋์ ํด๊ฒฐํ ํ, ์์ ํ ํ์ผ์ ์คํ ์ด์ง์ ์ถ๊ฐํ๊ณ ์ปค๋ฐํ์ฌ ๋ณํฉ ๊ณผ์ ์ ๋ง๋ฌด๋ฆฌํฉ๋๋ค.
git add <์ถฉ๋ ํ์ผ>
git commit -m "์ถฉ๋ ํด๊ฒฐ ํ ๋ณํฉ ์๋ฃ"
์ด์ ๋ณํฉ ์ถฉ๋์ด ํด๊ฒฐ๋์์ผ๋ฉฐ, ์ ์ฅ์๊ฐ ์ต์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
4. ์ถฉ๋ ํด๊ฒฐ์ ๋์์ฃผ๋ ๋๊ตฌ๋ค
๋ณํฉ ์ถฉ๋ ํด๊ฒฐ ๊ณผ์ ์์ GUI ๋๊ตฌ ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ง๊ด์ ์ผ๋ก ์ถฉ๋์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ค์์ Git ์ถฉ๋ ํด๊ฒฐ์ ์ ์ฉํ ๋๊ตฌ๋ค์ ๋๋ค.
๋๊ตฌ | ์ค๋ช | ํน์ง |
---|---|---|
VS Code | Git๊ณผ์ ๊ฐ๋ ฅํ ํตํฉ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ถฉ๋ ํด๊ฒฐ์ด ์ฌ์ | ์ถฉ๋๋ ๋ถ๋ถ์ ํ์ด๋ผ์ดํธํ์ฌ ์ ํ์ ์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅ |
Sourcetree | GUI ๊ธฐ๋ฐ์ Git ๋๊ตฌ๋ก, ์ถฉ๋ ๋ฐ์ ์ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค | ํ์ผ๋ณ๋ก ์ถฉ๋์ ๊ด๋ฆฌํ ์ ์์ด ํธ๋ฆฌํจ |
P4Merge | ๋ณํฉ ์ถฉ๋ ์ ํ์ผ์ ์ฐจ์ด์ ์ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค | ์ถฉ๋ ๋ด์ฉ ๋น๊ต ๋ฐ ๋ณํฉ์ ํ ํ๋ฉด์์ ํ์ธ ๊ฐ๋ฅ |
GitKraken | Git ๊ด๋ฆฌ์ ์ถฉ๋ ํด๊ฒฐ์ ์ํ ๊ธฐ๋ฅ์ด ํ์ํ GUI ๋๊ตฌ | ํ์ ์ค ์ถฉ๋ ๊ด๋ฆฌ๊ฐ ์ฌ์ |
KDiff3 | ๊ฐ ๋ผ์ธ์ ์ฐจ์ด๋ฅผ ํ์ํ๊ณ , ์ ํ์ ์ผ๋ก ๋ณํฉ ๊ฐ๋ฅ | ๋ฌด๋ฃ ์คํ ์์ค ๋๊ตฌ๋ก ๋ค์ํ ๊ธฐ๋ฅ ์ ๊ณต |
์ด๋ฌํ ๋๊ตฌ๋ค์ ํ์ฉํ๋ฉด ์ถฉ๋ ํด๊ฒฐ์ด ํ๊ฒฐ ์์ํด์ง๋ฉฐ, ์ถฉ๋ ๋ด์ฉ์ด ๋ง์ ๋๋ ์๊ฐ์ ์ผ๋ก ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
์ถฉ๋ ํด๊ฒฐ ํธ๋ ๋์ ์ฌ์ฉ ํํฉ ๐
GitHub์ ํ์ ํ๊ฒฝ์์ ๋ณํฉ ์ถฉ๋์ ํํ ๋ฌธ์ ์ด๋ฉฐ, ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ๊ฐ๋ฐ์์ 60% ์ด์ ์ด ํ๋ก์ ํธ ํ์ ์ ๋ณํฉ ์ถฉ๋์ ๊ฒฝํํ๋ค๊ณ ํฉ๋๋ค. Git์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ๋ณํฉ ์ถฉ๋ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํ์์ ์ด๋ฉฐ, VS Code, Sourcetree ๋ฑ์ GUI ๋๊ตฌ ์ฌ์ฉ ๋น์จ๋ ์ ์ ์ฆ๊ฐํ๊ณ ์์ต๋๋ค.
FAQ ๐ค
Q1. ๋ณํฉ ์ถฉ๋์ ๋ฏธ๋ฆฌ ๋ฐฉ์งํ ์ ์๋์?
A1. ์์ ํ ๋ฐฉ์งํ ์๋ ์์ง๋ง, ์์ฃผ
git pull
์ ์คํํ๊ฑฐ๋ ์์ ๋จ์๋ก ์์
ํ๋ฉด ์ถฉ๋์ ์ค์ผ ์ ์์ต๋๋ค.
Q2. ์ถฉ๋ ํด๊ฒฐ์ด ์ด๋ ค์ธ ๋๋ ์ด๋ป๊ฒ ํด์ผ ํ๋์?
A2. GUI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ถฉ๋๋ ๋ถ๋ถ์ ์๊ฐ์ ์ผ๋ก ํ์ธํ๋ฉด ๋ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ์ ์, ํ์๊ณผ ํจ๊ป ๊ฒํ ํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
Q3. VS Code์์ ์ถฉ๋ ํด๊ฒฐ์ ์ง์ํ๋์?
A3. ๋ค, VS Code๋ ์ถฉ๋๋ ๋ถ๋ถ์ ํ์ด๋ผ์ดํธํ๊ณ ๊ฐ ๋ธ๋์น์ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ณํฉํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
Q4. ์ถฉ๋ ํด๊ฒฐ ํ ์ปค๋ฐ ๋ฉ์์ง๋ ์ด๋ป๊ฒ ์์ฑํ๋์?
A4. ์ผ๋ฐ์ ์ผ๋ก “์ถฉ๋ ํด๊ฒฐ ํ ๋ณํฉ ์๋ฃ”์ ๊ฐ์ด ์์
๋ด์ฉ์ ๋ช
ํํ ์ค๋ช
ํ๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Q5. ์ถฉ๋ ํด๊ฒฐ ํ ๋ณํฉํ ๋ ์ถ๊ฐ ๊ฒํ ๊ฐ ํ์ํ๊ฐ์?
A5. ๋ค, ์ถฉ๋ ํด๊ฒฐ ํ ์ถ๊ฐ์ ์ผ๋ก ์ฝ๋๊ฐ ์ ์ ์๋ํ๋์ง ๊ฒํ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํนํ, ๊ธฐ๋ฅ ํ
์คํธ๋ฅผ ์งํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ณํฉ ์ถฉ๋์ Git ํ์ ์์ ์์ฐ์ค๋ฌ์ด ์ผ์ด๋ฉฐ, ์์ ๊ฐ์ด๋๋ฅผ ํตํด ์ถฉ๋์ ํจ์จ์ ์ผ๋ก ํด๊ฒฐํด๋ณด์ธ์! ์ถฉ๋ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํ๋ก์ ํธ์ ํ์ง์ ๋์ด๊ณ , ์ํํ ํ์ ์ ๋๋ ์ค์ํ ๊ธฐ์ ์ ๋๋ค.
๋๊ธ