반응형
들어가며
개발을 하다 보면 파일 변경 내역을 비교할 일이 자주 생긴다.
터미널의 git diff만으로는 한눈에 보기 어려울 때,
git difftool을 사용하면 VSCode 같은 GUI 툴로 훨씬 직관적으로 비교할 수 있다.
git diff 와 git difftool 의 차이
항목 | git diff | git difftool |
출력 방식 | 터미널 텍스트 기반 | GUI 기반(탭을 통해 좌우 비교) |
가독성 | 낮음 | 높음 |
파일 탐색 | 수동 스크롤 | 파일별 빠른 이동 가능 |
git difftool 사용방법
git difftool <비교_브랜치>
위의 명령어를 입력하면 수정된 파일들을 difftool(GUI 툴)로 열어준다.
git difftool example-branch
만약 위와 같이 명령어를 입력하였다면, 현재 브랜치와 example-branch 브랜치를 비교한다.
위에서 y 를 누르면 다음과 같은 화면이 출력된다.
새창에서 difftool 열기 (VS Code)
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --reuse-window --wait --diff \$LOCAL \$REMOTE"
위의 명령어를 입력하면 새 창을 열지 않고 현재 열려있는 VS Code 창에 출력된다.
새창에서 difftool 열기 (VS Code)
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff \$LOCAL \$REMOTE"
--reuse-window 옵션을 빼면 항상 새창으로 열린다.
자주 쓰는 difftool 명령어
명령어 | 설명 |
git difftool | 수정된 파일을 비교 |
git difftool --cached | staged(index)된 파일을 비교 |
git difftool HEAD~1 | 이전 커밋과 현재 커밋을 비교 |
git difftool branch_A branch_B | 두 브랜치 간 차이를 비교 |
git difftool --dir-diff | 디렉토리 전체 구조를 비교 |
💡 -y 옵션을 추가하면 매번 diff 여부를 물어보지 않고 바로 비교한다.
마치며
git difftool은 특히 코드 리뷰, 대규모 리팩토링, PR 비교에서 엄청난 효율을 가져온다.
기본 git diff만 썼다면 꼭 difftool도 한번 설정해서 사용해보자.
특히 VSCode와 함께 쓰면 한눈에 변경사항을 파악할 수 있고, 실제 코드를 바로 수정하거나 탐색할 수 있어서 생산성이 눈에 띄게 향상된다.
반응형
'개발 일반 > git' 카테고리의 다른 글
[GIT] 커밋 해시(commit hash)를 외부에 노출해도 괜찮을까? (0) | 2025.04.28 |
---|---|
[GIT] remote branch 를 마지막 수정 날짜 기준으로 정렬 (0) | 2025.04.28 |
git - git config 사용자 이름 및 사용자 이메일 설정하기 (0) | 2023.01.30 |
Stash 명령어 사용하기 (2) | 2023.01.15 |
로컬 브랜치와 원격 브랜치 삭제하기 (0) | 2023.01.15 |