본문 바로가기
C.W.K.
Stream
Lesson 04 of 08 · published

delta: 읽을 수 있는 git diff

~8 min · delta, git, diff

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

눈이 원하는 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.txt

delta는 일반적으로 unified diff 입력을 보기 좋게 렌더링해. 파일 두 개를 직접 비교하는 역할은 diff가 맡고, 그 출력을 delta에 넘겨.

테마

delta --show-config는 현재 옵션을 모두 보여 줘. delta.features = decorations, delta.syntax-theme = Monokai Extendeddelta.line-numbers = true처럼 필요한 항목을 골라 적용해. 내장 테마 목록은 delta --list-syntax-themes로 확인할 수 있어.

더 큰 교훈

읽기 도구의 작은 개선은 반복 작업의 피로를 줄여. 다만 전역 설정은 언제든 원래 pager로 돌아갈 수 있게 한 줄씩 적용하고, 문제가 생겼을 때 어느 설정이 출력을 바꿨는지 알 수 있게 유지해.

보기가 좋아져도 diff의 경계는 그대로야

구문 강조는 코드를 이해하기 쉽게 만들지만 rename 감지, whitespace 무시, 맥락 줄 수 같은 비교 규칙은 Git 옵션이 결정해. 중요한 리뷰라면 예쁜 화면만 믿지 말고 어떤 옵션으로 diff가 만들어졌는지 확인해.

설정은 되돌릴 수 있게 쌓아

git config --global은 모든 저장소의 기본값을 바꿔. 여러 줄을 한꺼번에 넣기보다 한 항목씩 시험하고 git config --global --get으로 현재 값을 기록해. 도구를 제거할 때 pager 설정만 남아 Git 출력이 막히는 상황도 예방할 수 있어.

Code

한 방 delta 설정·bash
brew install git-delta
cat >> ~/.gitconfig <<'EOF'
[core]
  pager = delta
[interactive]
  diffFilter = delta --color-only
[delta]
  navigate = true
  line-numbers = true
  side-by-side = true
[merge]
  conflictStyle = zdiff3
EOF
git diff   # 결과 확인

External links

Exercise

delta를 설치한 뒤 전역 설정부터 바꾸지 말고, 작은 저장소에서 Git의 일회성 pager 설정으로 diff를 열어 봐. 줄 번호와 나란히 보기가 현재 터미널 폭에서 읽기 좋은지 확인하고, 원래 출력으로 돌아가는 방법도 함께 적어 둬.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.