눈이 원하는 diff
delta는 Git이 만든 diff를 받아 구문 강조, 줄 번호, 나란히 보기 같은 표현을 더해. 내용 자체를 바꾸는 diff 엔진이 아니라 사람이 변경점을 읽는 페이지 표시 계층에 가까워.
설치하고 설정하기
brew install git-delta
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.line-numbers true
git config --global delta.side-by-side true
git config --global merge.conflictStyle zdiff3전역 Git 설정을 바꾸면 모든 저장소와 대화형 명령에 영향을 줘. 먼저 일회성 pager로 시험하고, 색상과 나란히 보기 모드가 작은 터미널이나 patch 선택 흐름에서도 맞는지 확인한 뒤 적용해.
독립 사용
diff -u old.txt new.txt | delta
delta old.txt new.txtdelta는 일반적으로 unified diff 입력을 보기 좋게 렌더링해. 파일 두 개를 직접 비교하는 역할은 diff가 맡고, 그 출력을 delta에 넘겨.
테마
delta --show-config는 현재 옵션을 모두 보여 줘. delta.features = decorations, delta.syntax-theme = Monokai Extended와 delta.line-numbers = true처럼 필요한 항목을 골라 적용해. 내장 테마 목록은 delta --list-syntax-themes로 확인할 수 있어.
더 큰 교훈
읽기 도구의 작은 개선은 반복 작업의 피로를 줄여. 다만 전역 설정은 언제든 원래 pager로 돌아갈 수 있게 한 줄씩 적용하고, 문제가 생겼을 때 어느 설정이 출력을 바꿨는지 알 수 있게 유지해.
보기가 좋아져도 diff의 경계는 그대로야
구문 강조는 코드를 이해하기 쉽게 만들지만 rename 감지, whitespace 무시, 맥락 줄 수 같은 비교 규칙은 Git 옵션이 결정해. 중요한 리뷰라면 예쁜 화면만 믿지 말고 어떤 옵션으로 diff가 만들어졌는지 확인해.
설정은 되돌릴 수 있게 쌓아
git config --global은 모든 저장소의 기본값을 바꿔. 여러 줄을 한꺼번에 넣기보다 한 항목씩 시험하고 git config --global --get으로 현재 값을 기록해. 도구를 제거할 때 pager 설정만 남아 Git 출력이 막히는 상황도 예방할 수 있어.