diff 가이드
텍스트 비교가 어떻게 동작하는지, 결과를 어떻게 읽고 어떤 옵션을 언제 쓰는지 정리했습니다.
diff 는 어떻게 차이를 찾을까 — LCS 와 Myers 알고리즘
두 텍스트의 차이를 찾는 diff 의 원리를 최장 공통 부분 수열(LCS), 편집 스크립트, Myers O(ND) 알고리즘, 줄 단위와 단어 단위 비교를 중심으로 쉽게 설명합니다.
02 · guide/diff-algorithmsMyers·Patience·Histogram — diff 알고리즘 비교
git diff 의 --diff-algorithm 옵션(myers, minimal, patience, histogram)이 각각 어떻게 동작하고 결과가 왜 달라지는지 예제와 함께 비교합니다.
03 · guide/read-unified-diffunified diff(patch) 읽는 법 — 코드 리뷰를 위한 안내
git diff 와 patch 파일의 --- +++ 헤더, @@ 헌크 헤더의 숫자, 문맥 줄, No newline at end of file 표시, diff --git 확장 헤더를 예제로 하나씩 읽어 봅니다.
04 · guide/whitespace-options공백 무시 옵션 차이 — diff -b, -w, -B, -Z 와 git 대응
줄 끝 공백 무시, 공백 양 무시(-b), 모든 공백 무시(-w), 빈 줄 무시(-B), 대소문자 무시의 정확한 차이를 GNU diff·git 옵션과 예제로 비교합니다.
05 · guide/compare-documents문서 교정·계약서 비교 — 두 버전의 차이를 빠짐없이 찾는 법
초안과 수정안, 발송본과 회신본 계약서를 텍스트로 비교하는 절차와 요령. 어절·글자 단위 비교, PDF 줄바꿈 정리, 계약서 확인 체크리스트를 정리했습니다.
06 · guide/json-diffJSON 비교하는 법 — 키 순서 정렬과 정규화
JSON 두 개를 비교할 때 키 순서·들여쓰기·숫자 표기 차이 때문에 생기는 가짜 차이를 없애는 방법과 배열 순서, 큰 정수, JSON Patch 와의 차이를 설명합니다.
07 · guide/line-endings줄 끝 문자(CRLF·LF)와 보이지 않는 차이 — 모든 줄이 바뀌었다고 나올 때
눈으로는 같은데 diff 에서 모든 줄이 다르게 나오는 원인인 CRLF·LF 줄바꿈, 파일 끝 줄바꿈, BOM, 탭과 공백, 특수 공백, 유니코드 정규화와 해결 방법을 정리했습니다.