Menu
Coddy logo textTech

병합 충돌

Coddy Terminal 여정의 버전 관리 섹션에 포함된 레슨 — 58개 중 37번째.

만약 두 브랜치가 같은 파일의 같은 줄을 수정했다면, Git은 어느 버전을 유지해야 할지 판단할 수 없습니다. Git은 병합을 일시 중단하고 사용자에게 결정을 요청합니다.

충돌이 발생한 파일에는 두 버전을 모두 보여주는 특수 표시가 추가됩니다:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

당신의 작업은 파일을 직접 수정하는 것입니다. 한 버전을 선택하거나, 병합하거나, 또는 새로운 내용을 작성하세요. 그런 다음 모든 충돌 표시(<<<, ===, >>> 라인들)를 제거하세요.

파일이 올바르게 보이면, 파일을 스테이징하고 다른 커밋으로 병합을 마무리하세요:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

진행 도중에 마음이 바뀌면 전체 과정을 중단하고 병합 전 상태로 되돌아갈 수 있습니다:

git merge --abort
challenge icon

챌린지

중급

폴더에는 hello라는 내용이 포함된 notes.txt 파일이 있습니다.

저장소를 초기화하고 초기 파일을 커밋하세요. alt 브랜치를 생성하고, notes.txt의 내용을 hi from alt로 변경한 후 커밋하세요.

main 브랜치로 다시 전환하고, notes.txt의 내용을 hi from main으로 변경한 후 커밋하세요.

alt 브랜치를 main 브랜치로 병합(merge)을 시도하세요. 병합 충돌이 발생할 것입니다. git merge --abort 명령어로 병합을 취소한 다음, cat 명령어로 notes.txt의 내용을 출력하여 파일이 main 버전으로 돌아왔는지 확인하세요.

치트 시트

두 브랜치가 동일한 줄을 수정하면, Git은 병합을 중단하고 파일에 충돌 표시를 추가합니다:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

파일을 원하는 결과로 수정하고, 모든 표시를 제거한 다음, 스테이징하고 커밋하세요:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

병합을 취소하고 병합 전 상태로 복구하려면:

git merge --abort

직접 해보기

터미널
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

버전 관리의 모든 레슨