name: configuring-git
description: |
This skill should be used when the user configures Git with Home Manager,
sets up delta, rerere, or encounters gitconfig conflicts. Covers custom
aliases, git-cleanup scripts, rebase reverse display.
Git 설정
Git, delta diff, rerere 등 Git 관련 설정 가이드입니다.
빠른 참조
주요 기능
| 기능 | 설명 |
|---|
| delta | Git diff를 구문 강조로 표시 |
| rerere | 충돌 해결 패턴 기록/재사용 |
| rebase 역순 | Interactive rebase에서 최신 커밋이 위로 |
| git-cleanup | 오래된/삭제된 브랜치 정리 |
| wt | Git worktree 생성 및 관리 (삭제 시 커밋 체크) |
| wt-cleanup | 워크트리 정리 (PR 상태 + 커밋 체크) |
delta 설정 확인
# delta가 설치되어 있는지 확인
which delta
# Git에서 delta 사용 중인지 확인
git config --get core.pager
rerere 사용법
# rerere 상태 확인
git rerere status
# 기록된 해결책 확인
git rerere diff
# 캐시 정리
rm -rf .git/rr-cache
설정 파일 위치
| 파일 | 용도 |
|---|
modules/shared/programs/git/default.nix | Git 공통 설정 |
~/.gitconfig | 생성된 설정 (Nix 관리) |
자주 발생하는 문제
- delta 적용 안 됨:
core.pager 설정 확인, PATH에 delta 있는지 확인
- gitconfig 충돌: 기존
~/.gitconfig가 있으면 Home Manager와 충돌
- rebase 역순 안 됨:
GIT_SEQUENCE_EDITOR 환경변수 확인
git-cleanup 사용법
# 삭제된 원격 브랜치와 연결된 로컬 브랜치 정리
git-cleanup
# 출력 예시:
# [gone] feature/old-feature
# [stale] feature/very-old (3 months ago)
wt / wt-cleanup 사용법
# 워크트리 생성 (cd 이동 + 에디터 열기)
wt feature-branch
# 워크트리 생성 (현재 디렉토리에 머무름)
wt -s feature-branch
wt --stay feature-branch
# 워크트리 정리 (fzf 다중 선택)
wt-cleanup
레퍼런스