병합 충돌 해결 도구: Git·SVN 충돌 온라인 해결

  • 무료
  • 가입 불필요
  • 브라우저에서 실행
  • 마지막 업데이트 2026-10-07
문제 신고

충돌 마커가 있는 파일을 붙여 넣어 충돌마다 어느 쪽을 쓸지 고르거나, 세 버전을 병합해 부딪히는 부분만 해결하세요.

입력한 내용은 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

사용 방법

  1. Git 또는 SVN 충돌 마커(<<<<<<<, =======, >>>>>>>)가 있는 텍스트를 붙여 넣으면 어느 쪽인지 자동으로 알아봅니다. 또는 세 버전 병합 탭에서 내 버전, 공통 조상, 상대 버전을 넣습니다. 예시 불러오기로 둘 다 써 볼 수 있습니다.
  2. 충돌마다 현재 수락, 들어온 쪽 수락, 둘 다 수락 중 하나를 누릅니다. 위쪽 버튼은 모든 충돌에 한꺼번에 적용합니다.
  3. 결과를 복사해 파일에 덮어씁니다. 해결하지 않은 충돌은 마커가 그대로 남으므로 아무것도 사라지지 않습니다.

예시

<<<<<<< HEAD
return 3;
=======
return 5;
>>>>>>> feature
→ 현재 수락은 return 3;, 들어온 쪽 수락은 return 5;, 둘 다 수락은 현재가 먼저 오는 두 줄이 됩니다.
<<<<<<< .mine
timeout = 30
=======
timeout = 60
>>>>>>> .r1234
→ Subversion으로 감지됩니다. 내 것 수락은 timeout = 30, 저장소 수락은 timeout = 60
svn update 뒤에는 양쪽이 .mine(내 작업 복사본)과 .r 다음에 저장소의 리비전 번호로 표시됩니다.
기준: color는 blue, size는 10. 현재: size가 12. 들어온 쪽: color가 green, size가 14.
→ 충돌 1개 (size: 12 대 14). color 변경은 자동으로 병합됩니다.
양쪽이 서로 다르게 바꾼 줄만 충돌이 됩니다.
닫는 >>>>>>> 줄이 없는 충돌 블록
→ 오류: 그 줄에서 시작한 충돌에 닫는 마커가 없습니다.

계산 방식

마커 해결. 도구는 텍스트를 한 줄씩 읽습니다. <가 정확히 일곱 개인 줄이 충돌의 시작, =가 일곱 개인 줄이 두 쪽의 구분, >가 일곱 개인 줄이 끝입니다. |가 일곱 개인 줄은 기준 구간의 시작입니다. Git과 Subversion은 같은 마커를 쓰며, 마커 뒤의 라벨이 어느 쪽이 만든 파일인지 알려 줍니다. 이 블록 밖의 내용은 그대로 둡니다. 결과는 각 충돌을 고른 쪽의 줄로 바꿔서 만들고, 열어 둔 충돌은 원래 줄바꿈까지 그대로 다시 씁니다.

세 버전 병합. 세 텍스트를 줄로 나눠 표준 3-way 병합 알고리즘으로 비교합니다. 한쪽에서만 바뀐 줄은 그쪽의 것을 가져옵니다. 양쪽이 같은 변경을 했다면 충돌 없이 한 번만 적용합니다. 양쪽이 같은 줄을 서로 다르게 바꿨다면 그 영역이 충돌이 되며 현재, 기준, 들어온 쪽(SVN 면 이름을 고르면 내 것, 원본, 저장소) 버전으로 보여 줍니다.

블록이 불완전하면, 예를 들어 닫히지 않은 충돌이나 다른 충돌 안에서 시작한 충돌이면, 도구는 추측하지 않고 줄 번호가 들어간 오류를 보여 줍니다.

출처

자주 묻는 질문

충돌 마커는 무슨 뜻인가요?
<<<<<<<와 ======= 사이는 현재 브랜치(보통 HEAD)의 줄이고, ======= 와 >>>>>>> 사이는 병합해 오는 브랜치, 즉 들어온 쪽의 줄입니다. 양쪽이 파일의 같은 부분을 바꿔서 Git이 고를 수 없을 때 이 마커를 씁니다.
Git과 SVN 충돌은 어떻게 다른가요?
마커는 같고 라벨만 다릅니다. svn update 뒤에는 .mine과 .r 다음에 리비전 번호가 붙습니다. svn merge 뒤에는 .working, .merge-left.r리비전, .merge-right.r리비전이 붙습니다. 도구는 이 라벨을 알아보고 양쪽을 현재와 들어온 쪽 대신 내 것과 저장소, 또는 작업 복사본과 병합 대상으로 부릅니다.
SVN 충돌은 어떻게 해결하나요?
충돌한 파일을 열어 내용을 여기에 붙여 넣고, 충돌마다 해결한 뒤, 결과를 파일에 덮어씁니다. 그다음 svn resolve --accept working 파일명으로 Subversion에 충돌이 해결되었다고 알리고 평소처럼 커밋합니다.
|||||||로 시작하는 기준 구간은 무엇인가요?
일부 설정(Git의 diff3 충돌 스타일, Subversion 병합)에서는 ======= 앞에 공통 조상이 ||||||| 로 함께 들어갑니다. 있으면 도구가 세 번째 열로 보여 주고 기준 사용 버튼을 제공합니다.
두 모드는 어떻게 다른가요?
충돌 마커 해결은 이미 Git이 표시해 둔 파일을 다룹니다. 세 버전 병합은 병합 자체를 합니다. 내 버전과 상대 버전을 공통 조상과 비교해서, 부딪히지 않는 부분은 모두 합치고 부딪히는 부분만 충돌로 보여 줍니다.
도구가 어느 쪽이 맞는지 판단해 주나요?
아니요. 고른 쪽을 적용할 뿐입니다. 둘 다 수락은 두 쪽을 이어 붙일 뿐이므로 결과가 말이 되는지 확인하고, 그 뒤에 코드를 컴파일하거나 테스트하세요.
코드가 업로드되나요?
아니요. 읽기와 병합은 브라우저 안에서 실행되며 텍스트는 서버로 전송되지 않습니다.

마지막 업데이트: