두 파일의 모든 차이
diff a b 가 두 파일의 다른 줄을 보여줘. 기본 출력은 간결하고 옛날 스타일. -u 추가하면 git, GitHub, 코드 리뷰가 다 쓰는 unified format.
필요한 flag
-u— unified diff with 3 줄 context (표준).-r— 디렉터리 두 개 재귀 비교.-q— 차이 유무만, 내용 안 보임.-i— 대소문자 무시.-w— 모든 공백 무시.-B— 빈 줄 변경 무시.-y— side-by-side.--color=auto— 색 (GNU diff 3.4+).
Unified diff 읽기
- 시작 = a 에만, + 시작 = b 에만. hunk header @@ -10,4 +10,5 @@ 는 'a 의 10 번째 줄부터 4 줄, b 의 10 번째 줄부터 5 줄'. git diff 와 같은 포맷.
패치
diff 를 파일로: diff -u a b > change.patch. 나중에 적용: patch < change.patch. 리눅스 커널 패치가 메일로 오갈 때 이 형태.
코드엔 diff 보다 나은 것
git diff 는 같은 unified format 에 rename 감지 + 색. delta (modern-tools 트랙) 가 diff 를 사람 읽기 좋게. 디렉터리 비교는 diff -rq dir1 dir2 + 수동 검토가 대부분 GUI 도구보다 나아.