24일차/30일차 - Git Diff --word-diff: 단어 수준의 변경사항 확인, 줄 수준이 아닌
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
Git을 사용하는 개발자, 문서 작성자, 코드 리뷰 담당자
난이도: 중급 (Git 기본 지식 필요)
핵심 요약
git diff --word-diff
는 줄 수준이 아닌 단어 수준의 변경사항을 시각화하여 정밀한 차이 분석 가능--word-diff=color
로 색상 기반 출력 가능 (삭제: 빨강, 추가: 초록)--word-diff-regex
로 camelCase, hyphenated-words 등의 단어 구분 방식 커스터마이징 가능.gitattributes
파일로 확장자별 자동 설정 (예:*.md diff=word
)
섹션별 세부 요약
1. 기본 사용법
git diff --word-diff
: 미스테이지 변경사항의 단어 수준 차이 확인git diff --word-diff --cached
: 스테이지된 변경사항 검토git diff --word-diff commit1 commit2
: 커밋 간 단어 수준 비교
2. 고급 기능
--word-diff=color
: 색상 기반 출력 (ANSI 터미널 지원 필수)--word-diff-regex='[a-zA-Z0-9_]+|[^[:space:]]'
: camelCase 변수를 하나의 단어로 인식--patience
: 정확한 차이 분석을 위한 알고리즘 (리팩토링 코드, JSON/YAML 파일 권장)
3. 실용적 팁
-b
옵션: 공백/들여쓰기 무시 (실질적 내용 변경만 추적)git log -p --word-diff
: 커밋 기록에서 단어 수준 변경사항 확인.gitattributes
설정:*.md diff=word
로 Markdown 파일 자동 설정
4. 간편한 설정
git config --global alias.wdiff "diff --word-diff"
: 별칭 추가 (명령어git wdiff
사용 가능)git checkout --conflict=diff3 --word-diff
: 3-way 머지 시 단어 수준 충돌 해결
결론
git diff --word-diff
는 문서, 코드 리뷰, 설정 파일에 필수적인 도구로, 정밀한 변경사항 추적 가능- 색상 출력, 정규식 커스터마이징, .gitattributes 자동 설정을 통해 작업 효율성 극대화
git wdiff
별칭 생성 및--stat
옵션 활용으로 빠른 변경사항 요약 가능