English

delta — git diff 문법 하이라이트

Linux / 모던 CLI 도구 / delta.html

모던 CLI 도구원문등록 2026-01-19T18:00:00+09:00

💬 "delta 명령어"

delta(패키지명 git-delta)는 git diff·diff 출력에 문법 하이라이트를 넣어주는 도구입니다. 평범한 빨간·초록 글자 대신 코드에 맞는 색으로 변경점을 보여주어 어디가 바뀌었는지 훨씬 빠르게 읽습니다.

Rust로 만들어졌으며, git의 기본 pager로 설정하면 git diff·git show·git log -p가 자동으로 아름다워집니다. 행 단위를 넘어 블록·논리적 변경을 함께 강조합니다.

  • 개념: git diff 등에 문법 강조와 읽기 좋은 레이아웃을 적용하는 pager입니다.
  • 주요 기능: 문법 색상, 행 단위 하이라이트, 파일 이동/복사 인식, 사이드바, 배경 차이 표시를 지원합니다.
  • 장점: 설정 한 번으로 모든 git diff가 읽기 쉬워지고, 리뷰·리베이스 시 변경 파악이 빨라집니다.
  • 활용: 코드 리뷰·리베이스·충돌 해결 시 변경 내용을 명확히 볼 때 사용합니다.

기본 사용법

delta는 설치 후 git pager로 한 번 설정하면, 평소 git 명령을 그대로 쓰면서 자동 적용됩니다.

1. git에 통합 (설정 한 번)

delta를 git의 기본 pager와 인터랙티브 필터로 지정합니다.

git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
git config --global delta.navigate true

2. 평소처럼 git 사용

이제 평소 git 명령이 자동으로 하이라이트됩니다.

git diff
git show
git log -p --stat
git add -p   # 인터랙티브 add도 밝게 표시

3. git 밖에서도 사용

git이 아닌 diff 파일에도 적용할 수 있습니다.

diff -u old.txt new.txt | delta
cat changes.diff | delta

설치 및 다운로드

delta는 cargo·패키지 매니저·바이너리로 설치합니다.

환경명령
cargocargo install git-delta
Ubuntu/Debian (패키지 있으면)sudo apt install git-delta
macOS (Homebrew)brew install git-delta
릴리스 바이너리github.com/dandavison/delta/releases

설치 확인은 delta --version. git 통합은 위의 git config 3줄이면 끝납니다. less가 너무 오래되면 git config --global pager.delta 'delta --paging=never'로 paging을 끌 수 있습니다.

자주 쓰는 옵션

명령·키설명
delta.navigatediff 안에서 n/N으로 파일 간 이동합니다
delta.side-by-side좌우 비교 레이아웃을 켭니다
delta.line-numbers행 번호를 표시합니다
--features syntax-theme원하는 문법 테마를 지정합니다
--paging=neverpager(less) 없이 한 번에 출력합니다

필수 명령어 조합 3가지

  • git diff | delta — diff를 하이라이트해 확인
  • git log -p | delta — 커밋 변경을 문법 색으로 검토
  • git config --global core.pager delta — 모든 git diff에 자동 적용

💬 "실제 서버에서 delta를 사용하는 예시"

리뷰·리베이스 중 변경을 확인하는 상황을 순서대로 정리했습니다.

1단계 · delta 설치

cargo 또는 패키지로 설치합니다.

cargo install git-delta || sudo apt install git-delta

2단계 · git 통합

pager로 설정합니다.

git config --global core.pager delta

3단계 · 변경 검토

이제 diff가 자동으로 하이라이트됩니다.

git show HEAD
git diff --staged

실무에서는 이렇게 씁니다

1. 리뷰용 사이드바 비교

상황 — 한 화면에서 좌우로 변경을 비교합니다.

git diff --staged | delta --side-by-side

결과 — 좌우 레이아웃으로 추가·삭제가 한눈에 들어옵니다.

포인트 — 리뷰 시 어떤 라인이 바뀌었는지 빠르게 판단합니다.

2. 리베이스 중 확인

상황 — 리베이스 충돌을 검토합니다.

git rebase --continue  # 충돌 시
git diff | delta

결과 — 충돌 구간이 문법 색으로 강조되어 원인 파악이 빨라집니다.

포인트 — 대형 diff에서도 눈이 편해 실수를 줄입니다.

주의할 점

  • 오래된 less는 일부 색을 못 그릴 수 있어 less 최신 버전을 권장합니다.
  • bat를 쓰면 bat cache --build로 캐시를 갱신해야 문법이 함께 잘 표시됩니다.
  • 색이 눈에 부담되면 --features ansi-dark 등 테마를 바꿀 수 있습니다.