3P by neo 19일전 | favorite | 댓글 1개

시작하기

  • 패키지 이름은 "git-delta"이며, 실행 파일은 delta임.
  • ~/.gitconfig에 다음을 추가하여 설정할 수 있음:
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # diff 섹션 간 이동을 위해 n과 N 사용
    [merge]
    conflictstyle = zdiff3
    
  • Delta는 다양한 기능을 제공하며 사용자 정의가 가능함. 사용자 매뉴얼을 참조할 수 있음.

기능

  • 언어 구문 강조: bat과 동일한 구문 강조 테마 사용 가능.
  • 단어 수준 차이 강조: Levenshtein 편집 추론 알고리듬 사용.
  • 나란히 보기: 줄 바꿈 기능 포함.
  • 줄 번호 표시.
  • 파일 간 이동: 큰 diff에서 n과 N 키로 파일 간 이동 가능.
  • 향상된 병합 충돌 표시.
  • 향상된 git blame 표시: 구문 강조 및 커밋을 호스팅 제공자 링크로 포맷 가능.
  • grep 출력 구문 강조: rg, git grep, grep 등 지원.
  • Git의 --color-moved 기능 지원.
  • 코드 복사 가능: 기본적으로 -/+ 마커 제거.
  • diff-highlightdiff-so-fancy 에뮬레이션 모드.
  • 커밋 해시를 터미널 하이퍼링크로 포맷 가능.
  • 스타일 가능한 박스/라인 장식: 커밋, 파일, 청크 헤더 섹션 강조.
  • 스타일 문자열 지원: 20개 이상의 스타일 요소에 대해 전경색, 배경색, 글꼴 속성 사용 가능.
  • 전통적인 통합 diff 출력 및 git 출력 처리.
  • 밝은/어두운 터미널 배경 자동 감지.

Git, diff, grep 출력을 위한 구문 강조 페이지

  • Delta는 코드의 변화를 효율적이고 즐겁게 분석할 수 있도록 도와줌.
  • 레이아웃과 스타일을 광범위하게 변경할 수 있으며, 기본 git/diff 출력과 가깝게 유지 가능.

구문 강조 테마

  • bat과 동일한 구문 강조 색상 테마 사용 가능:
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

나란히 보기

  • 기본적으로 나란히 보기에는 줄 번호가 활성화되어 있으며, 왼쪽과 오른쪽 패널 모두 구문 강조가 적용됨.

줄 번호

  • delta 설정에서 줄 번호를 활성화할 수 있음.

병합 충돌

  • 사용자 매뉴얼을 참조하여 병합 충돌을 처리할 수 있음.

Git blame

  • 사용자 매뉴얼을 참조하여 git blame을 향상시킬 수 있음.

Ripgrep, git grep

  • 사용자 매뉴얼을 참조하여 ripgrep 및 git grep 출력을 구문 강조할 수 있음.

설치 및 사용

  • 사용자 매뉴얼과 delta --help를 참조할 수 있음.

유지보수자

  • @dandavison
  • @th1000s
Hacker News 의견
  • Delta는 설정 후 잊어버릴 수 있는 도구로, git grep/diff/blame 출력 대신 자주 사용됨. ripgrep과도 호환됨을 알게 됨
    • bat도 비슷하게 설정 후 잊어버릴 수 있는 도구로, cat을 bat으로 alias하여 사용 중임
  • 기본 git으로도 적당한 수준의 단어 단위 diff를 얻을 수 있음
    • git diff --color-words --word-diff-regex='\w+|.' 명령어 사용
  • Delta는 유용하지만 긴 줄을 잘라내는 문제가 있었음. 이 문제는 git config --global --replace-all delta.max-line-length 0 설정으로 해결됨
    • 기본 설정이 아닌 이유는 불분명함
  • Delta와 difftastic을 혼합하여 사용 중이며, 특히 difftastic은 tree-sitter AST 구문에 유용함
    • Delta는 깔끔하고 매우 빠름
  • Delta 사용을 막는 요인은 "시스템" 테마 감지 부족임. 테마가 쉘과 맞지 않으면 읽기 어려움
  • 일반 git diff 도구를 색상과 함께 사용했지만, Delta는 너무 복잡함
  • Delta와 difftastic을 모두 사용 중이며, 강력히 추천함
    • 터미널을 사용하는 사람이라면 꼭 사용해보길 권장함
  • bat을 좋아하며, Delta와도 연결됨
  • Delta를 사랑하며, 항상 사용하지는 않지만 보통 사용함. 누구에게나 시도해보길 추천함
  • 작성자가 magit 통합도 작성한 것으로 보임
    • 사용자 피드백(성능 등)에 대한 의견을 구함