git difftool은 Git 명령어로, 일반적인 diff 도구를 사용하여 리비전 간의 파일을 비교하고 편집할 수 있게 해 줍니다. git difftool은 git diff의 프런트엔드로 개발자가 diff를 편하게 볼 수 있는 방법을 제공합니다.
Table Of Contents
git difftool 설정하기
git difftool 명령을 사용하려면 먼저 diff.tool을 설정해야 합니다. 이 설정은 git difftool이 사용할 diff 도구를 지정합니다.
difftool을 설정하려면 사용가능한 diff tool 목록을 봐야합니다.
git difftool --tool-help 명령을 사용하면 사용 가능한 diff tool 목록을 볼 수 있습니다. 이 명령은 현재 시스템에서 사용 가능한 diff 도구와 그에 대한 간략한 설명을 제공합니다.
% git difftool --tool-help
'git difftool --tool=<tool>' may be set to one of the following:
meld
tkdiff
vimdiff
vimdiff1
vimdiff2
vimdiff3
The following tools are valid, but not currently available:
araxis
bc
bc3
bc4
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
guiffy
gvimdiff
gvimdiff1
gvimdiff2
gvimdiff3
kdiff3
kompare
nvimdiff
nvimdiff1
nvimdiff2
nvimdiff3
opendiff
p4merge
smerge
winmerge
xxdiff
Some of the tools listed above only work in a windowed
environment. If run in a terminal-only session, they will fail.
위에서 설정가능한 diff tool은 meld, tkdiff, vimdiff 입니다.
diff.tool을 설정하는 방법은 다음과 같습니다
% git config --global diff.tool <tool>
여기서 <tool>은 사용하려는 diff 도구의 이름입니다. 예를 들어, tkdiff를 사용하려면 다음과 같이 입력합니다:
% git config --global diff.tool tkdiff
이제 git difftool 명령을 실행하면 tkdiff가 사용됩니다.
git difftool 명령 사용법
git difftool 명령의 사용법은 다음과 같습니다.
% git difftool [<options>] [<commit> [<commit>]] [--] [<path>…]
이 명령은 두 개의 커밋 사이의 변경 사항을 비교하거나, 특정 경로의 파일 변경 사항을 비교하는 데 사용됩니다.
git difftool의 주요 옵션과 사용예
기본 명령
git difftool 명령을 수행하면 현재 디렉토리 하위의 수정파일과 REMOTE의 차이를 보여줍니다.
아래는 meld로 diff tool을 설정한 후 git difftool을 수행했을 때를 보여줍니다. 이때 변경 파일 하나하나씩 launch 할 것인지 물어봅니다.
"Y"를 누르면 diff가 아래와 같이 보여집니다.
디렉터리 diff
- -d, --dir-diff
수정된 파일을 임시 위치로 복사하고 디렉터리 diff를 수행합니다. 이 모드는 diff 도구를 시작하기 전에 프롬프트를 표시하지 않습니다.
프롬프트 관련
-y, --no-prompt
diff 도구를 시작하기 전에 프롬프트를 표시하지 않습니다.
- --prompt
diff 도구를 호출할 때마다 프롬프트를 표시합니다. 이것이 기본 동작이며, 이 옵션은 구성 설정을 무시하기 위해 제공됩니다.
diff 도구 지정
-t <tool>, --tool=<tool>
<tool>로 지정된 diff 도구를 사용합니다. 유효한 값에는 emerge, kompare, meld, vimdiff 등이 포함됩니다.
현재 시스템에서 유효한 <tool> 설정 목록을 보려면 git difftool --tool-help를 실행합니다.
사용자 지정 명령
- -x <command>, --extcmd=<command>
diff를 보는 데 사용할 사용자 정의 명령을 지정합니다. 이 옵션을 지정하면 git-difftool은 구성된 기본값을 무시하고 <command> $LOCAL $REMOTE를 실행합니다.
하지만, 개인적으로 이 명령은 실행할 일은 없는 것 같습니다.
오늘은 git에서 diff를 보기 위해 사용하는 difftool에 대해서 사용법과 사용 예를 확인해 보았습니다. difftool이 잘 되어있어서 diff는 매우 쉽게 볼 수 있는 것 같습니다.
물론 vscode를 통하면 이 기능을 직접 사용할 필요는 없지만 vscode보다 더 눈에 잘 들어오는 diff 툴과 도구들이 있으니 그런 도구들을 사용해 보는 것도 좋은 것 같습니다.
참고 자료
'IT' 카테고리의 다른 글
영상편집 가능한 사무용 가성비 노트북 추천 (21) | 2024.03.01 |
---|---|
2024년 가성비 좋은 노트북 추천 BEST 4 - 대학생, 사무용, 캐주얼 게임 (22) | 2024.02.29 |
MariaDB(MySQL) 버전 확인하기 (22) | 2024.02.28 |
우분투(Ubuntu) 버전 정보 확인하기 (0) | 2024.02.28 |
GitHub 브랜치 생성 및 작업 방법 - GUI와 CLI (0) | 2024.02.26 |