본문으로 건너뛰기
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

Merge Conflict 원인과 해결 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Merge Conflict 원인과 해결”의 위험한 선택을 피하려면 어떤 원칙을 적용해야 하나요?
  2. 문제 2“Merge Conflict 원인과 해결” 실습 중 ‘충돌 중 다른 작업 시작’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

11강. Merge Conflict 원인과 해결 미완료 상태