[GIT] Git difftool 완벽 가이드(feat. 코드 리뷰 쉽게 하기)

반응형

들어가며

개발을 하다 보면 파일 변경 내역을 비교할 일이 자주 생긴다.
터미널의 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와 함께 쓰면 한눈에 변경사항을 파악할 수 있고, 실제 코드를 바로 수정하거나 탐색할 수 있어서 생산성이 눈에 띄게 향상된다.

반응형