Git · GitHub 기초집LESSON 11
Merge Conflict 원인과 해결
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
11강. Merge Conflict 원인과 해결
1. 이번 강의에서 해결할 문제
Git이 두 변경 중 어느 것을 남길지 판단할 수 없으면 병합을 멈춥니다. 충돌을 오류로 숨기지 않고 사람이 의도한 최종 내용을 선택해 새 커밋으로 기록합니다.
2. 학습 목표
3. 핵심 개념
같은 파일의 같은 줄을 서로 다르게 수정하거나 한쪽이 삭제한 파일을 다른 쪽이 수정하면 자동 선택이 불가능할 수 있습니다. GitHub도 충돌이 남은 PR의 병합을 막습니다. 단순 줄 충돌은 웹에서 가능할 수 있지만 복잡한 충돌은 로컬에서 해결해야 합니다.
4. 단계별 명령어와 예시
충돌 파일: C:\dev\git-learning-site\README.md
PowerShell
Set-Location C:\dev\git-learning-site
git switch main
git merge feature/readme-title
git status
git diff --name-only --diff-filter=U
Select-String -Path README.md -Pattern '<<<<<<<|=======|>>>>>>>'
편집기에서 표식과 불필요한 내용을 제거해 최종 문장을 만든 뒤 실행합니다.
PowerShell
git add README.md
git diff --check
git status
git commit -m "merge: resolve README title conflict"
해결 방향이 불명확하면 커밋하지 말고 git merge --abort로 병합 시작 전으로 돌아갑니다.
5. 명령어가 동작하는 이유
충돌 중 Git은 공통 조상, 현재 브랜치, 병합 대상 버전을 index에 보관합니다. 파일을 수정하고 add하면 사람이 최종 결과를 선택했다는 뜻이 됩니다. merge --abort는 병합이 시작되기 전 상태 복원을 시도합니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2Merge Conflict 원인과 해결 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
11강. Merge Conflict 원인과 해결 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.