개요
diff3는 공통된 조상 파일(BASE)과 두 개의 수정된 파일(MINE, THEIR) 간의 변경 사항을 비교하여 병합 충돌을 해결하는 데 도움을 줍니다. 특히, 두 사용자가 동일한 원본 파일을 독립적으로 수정했을 때 유용합니다.
주요 특징
- 세 파일 간의 차이점 분석
- 병합 충돌 식별 및 표시
- 원본 파일(BASE)을 기준으로 변경점 분석
- 병합된 결과 출력 가능
주요 옵션
diff3 명령어의 주요 옵션들은 비교 결과의 형식과 내용을 제어하는 데 사용됩니다.
출력 형식 및 병합
비교 및 필터링
생성된 명령어:
명령어를 조합해 보세요.
설명:
`diff3` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
diff3 명령어의 다양한 사용 예시를 통해 세 파일 비교 및 병합 방법을 이해할 수 있습니다.
기본 세 파일 비교
diff3 file1.txt file2.txt file3.txt
file1.txt(BASE), file2.txt(MINE), file3.txt(THEIR) 세 파일 간의 차이점을 비교합니다.
세 파일 병합 및 충돌 표시
diff3 -m original.txt my_version.txt their_version.txt
세 파일을 병합하고, 충돌이 발생한 부분은 표준 충돌 마커와 함께 출력합니다. 이 결과는 직접 수정하여 충돌을 해결하는 데 사용될 수 있습니다.
병합 결과를 새 파일로 저장
diff3 -m original.txt my_version.txt their_version.txt > merged_file.txt
병합된 내용을 merged_file.txt 파일로 저장합니다. 이 파일에는 충돌 마커가 포함될 수 있습니다.
겹치는 변경 사항만 표시
diff3 -x file1.txt file2.txt file3.txt
세 파일 모두에서 변경된 부분, 즉 병합 충돌이 발생할 수 있는 지점만 간결하게 표시합니다.
팁 & 주의사항
diff3는 강력한 도구이지만, 그 특성을 이해하고 사용해야 효과적입니다.
충돌 마커 이해
diff3 -m 옵션 사용 시 출력되는 충돌 마커는 다음과 같은 의미를 가집니다.
- <<<<<<<: 현재(MINE) 버전의 시작
- |||||||: 공통 조상(BASE) 버전의 시작
- =======: 두 버전의 구분선
- >>>>>>>: 들어오는(THEIR) 버전의 끝
활용 팁
- **버전 관리 시스템:** Git과 같은 버전 관리 시스템에서 병합 충돌이 발생했을 때, diff3의 원리를 이해하면 수동 충돌 해결에 도움이 됩니다.
- **백업:** 중요한 파일을 병합하기 전에는 항상 백업을 만들어 두는 것이 좋습니다.
- **파일 순서:** diff3는 `BASE MINE THEIR` 순서로 파일을 지정하는 것이 일반적입니다. 이 순서를 지키면 충돌 마커를 해석하기 쉽습니다.