3방향 텍스트 병합기
두 문서 비교가 차이를 보여준다면 3방향 병합은 공통 기준본으로 어느 쪽이 어떤 구간을 바꿨는지 찾습니다. 독립적인 변경은 합치고 겹치는 대안은 사용자의 선택을 위해 남겨 둡니다. 줄바꿈을 포함한 줄 단위로 비교하며 각 충돌의 선택 과정을 기록합니다.
주요 기능
- 공통 기준본을 기준으로 두 편집본의 줄 변경 비교
- 서로 다른 줄 변경 자동 병합과 동일 변경 중복 제거
- 겹치는 수정과 삽입·삭제 경계를 보존하는 충돌 처리
- 충돌마다 기준본·왼쪽·오른쪽·직접 입력 선택
- 직접 입력 스냅샷·다시 열기를 포함한 순서 있는 선택 이력
- 모든 충돌 해결 후 UTF-8 TXT 저장과 명시적 줄바꿈 옵션
사용 방법
- 공통 기준본·왼쪽·오른쪽에 텍스트를 붙여넣거나 UTF-8 파일을 읽습니다. 빈 내용도 가능합니다.
- 병합을 실행해 자동 처리 구간·동일 변경·충돌을 확인합니다.
- 각 충돌에서 버전을 선택하거나 직접 입력을 적용합니다. 선택을 다시 열어 수정할 수 있습니다.
- 선택 이력과 전체 병합 결과를 검토합니다.
- 선택된 줄바꿈을 보존하거나 LF·CRLF로 변환한 뒤 해결된 TXT를 복사·저장합니다.
활용 예시
- 마지막 공유 버전을 기준으로 짧은 Markdown 문서의 독립 수정 합치기
- 동일 변경은 한 번만 남기며 설정 줄의 충돌 해결
- 삭제 줄 옆에 삽입된 새 줄의 의도를 확인한 뒤 선택
- 섞여 있는 줄바꿈을 유지하거나 완성된 병합본을 명시적으로 통일
자주 묻는 질문
왜 공통 기준본이 필요한가요?
기준본은 양쪽이 편집을 시작한 버전입니다. 한쪽만 바꾼 구간은 자동 반영하고 양쪽이 다르게 바꾼 구간은 충돌로 남깁니다. 서로 무관한 기준본을 넣으면 특히 반복되는 줄 주변에서 예상과 다른 정렬이 생길 수 있습니다.
무엇을 자동 병합하고 무엇을 충돌로 보나요?
겹치지 않는 다른 줄의 수정은 자동 병합하고 동일 변경은 한 번만 남깁니다. 바로 이어지는 두 수정 범위는 독립적입니다. 같은 위치의 서로 다른 삽입, 겹치는 교체, 수정 범위의 시작·끝에 닿은 삽입은 보수적으로 묶어 검토하게 합니다. 충돌하는 삽입의 순서를 임의로 정하지 않습니다.
공백·대소문자·마지막 줄바꿈도 변경인가요?
네. 각 줄의 끝 문자를 포함해 정확히 비교합니다. LF·CRLF·CR·마지막 줄바꿈 유무·탭·공백·대소문자 모두 변경이 될 수 있습니다. UTF-8 파일은 BOM과 줄바꿈을 보존해 읽습니다. 브라우저 입력창에서 편집하면 LF로 바뀔 수 있으며 각 패널의 집계는 현재 보관된 입력을 나타냅니다.
직접 입력으로 충돌을 어떻게 해결하나요?
적용한 텍스트는 해당 충돌 구간만 대체합니다. 빈 텍스트는 그 구간의 삭제입니다. 뒤 구간에 내용이 있을 수 있으면 실수로 다음 줄과 붙지 않도록 비어 있지 않은 직접 입력은 줄바꿈으로 끝나야 합니다. 줄바꿈 추가 버튼을 사용할 수 있습니다. 초안을 편집하면 충돌을 다시 열며 명시적으로 적용해야 해결됩니다.
일부만 해결한 파일도 내려받을 수 있나요?
아니요. 미해결 충돌이 있으면 복사·TXT 저장을 비활성화합니다. 한쪽을 몰래 선택하거나 충돌 표식을 완성본으로 내보내지 않습니다. 해결 후 의도적으로 빈 결과라면 빈 파일을 저장할 수 있습니다. 이력에는 선택·다시 열기·직접 입력 스냅샷이 남고 선택 초기화 시 함께 지워집니다.
입력 한도와 출력 줄바꿈 옵션은 무엇인가요?
각 원본과 직접 입력 구간은 256KiB·2,000줄까지입니다. 충돌 최대 400개·선택 이력 최대 2,000건·직접 입력 이력 합계 1,048,576자를 허용하며 출력은 1MiB입니다. 보존은 선택 구간의 끝 문자를 유지하고 LF·CRLF는 전체 끝 문자를 변환합니다. 선택 옵션으로 비어 있지 않고 끝 줄바꿈이 없는 결과에만 줄바꿈을 추가할 수 있습니다. 문법·의미 검증이 아닌 줄 단위 병합입니다.
개인정보 안내
기준본·편집본·직접 입력한 해결 내용과 선택 이력은 현재 페이지의 브라우저 메모리에만 있습니다. 텍스트를 서버·URL·분석 이벤트로 보내거나 브라우저 저장소에 자동 보관하지 않습니다. 복사·TXT 저장은 직접 요청할 때만 수행하며 원본 입력을 바꾸면 이전 병합과 선택을 지웁니다.
댓글과 질문