본문 바로가기
IT

리눅스에서 git diff를 GUI로 보는 법 - vscode, tkdiff, meld 사용법

by developer's warehouse 2024. 2. 21.

github에서 개발을 하다 보면 diff를 봐야 하는 경우가 자주 있습니다. 거의 항상 diff는 확인하는데, vscode가 가장 많이 쓰이지만 눈에 보이는 측면에서는 조금 안 좋은 경우가 있습니다. 오늘은 git diff를 보는 방법 중 vscode, tkdiff, meld의 세 가지 GUI 툴을 이용해서 볼 수 있는 방법을 알아보겠습니다.

리눅스에서 git diff를 GUI로 보는 법 - vscode, tkdiff, meld 사용법 썸네일

gitconfig를 이용하는 법

리눅스에서 git diff를 GUI로 보는 방법은 여러 가지가 있습니다. 여기서는 tkdiff와 meld를 사용하는 방법에 대해 설명하겠습니다.

  1. tkdiff를 사용하는 방법
    • 먼저, tkdiff를 설치합니다.
    • 그 다음, .gitconfig 파일에 다음과 같이 설정을 추가합니다.
    git config --global diff.tool tkdiff
    git config --global difftool.tkdiff.cmd "tkdiff \$LOCAL \$REMOTE"
    
    • 이제 git difftool 명령을 사용하면 tkdiff를 통해 git diff의 결과를 GUI로 볼 수 있습니다.
  2. meld를 사용하는 방법
    • 먼저, meld를 설치합니다.
    • 그 다음, .gitconfig 파일에 다음과 같이 설정을 추가합니다.
    git config --global diff.tool meld
    git config --global difftool.prompt false
    git config --global merge.tool meld
    git config --global mergetool.prompt false
    
    • 이제 git difftool 명령을 사용하면 meld를 통해 git diff의 결과를 GUI로 볼 수 있습니다.

이 외에도 git difftool 명령을 사용하면 다양한 외부 diff 도구를 사용하여 git diff의 결과를 GUI로 볼 수 있습니다. 위의 방법들은 리눅스 뿐만 아니라 다른 운영 체제에서도 사용할 수 있습니다. 다만, 각 운영 체제에 따라 설치 방법이나 설정 방법이 다를 수 있습니다.

 

그런데, 사실 .gitconfig를 수정하는 것도 귀찮습니다. 그럴 때는 한 줄 명령으로 tkdiff나 meld 등의 diff 툴을 이용하는 방법을 사용하시면 됩니다.

 

한 줄 명령으로 GUI diff 보는 법

.gitconfig를 수정하고 저장해 놓는 방법은 귀찮기도 하고 diff 툴을 바꿔가면서 하기 불편합니다. 그래서 .gitconfig 파일을 수정하지 않고 git diff를 tkdiff나 meld로 한 줄 명령으로 수행하는 방법을 알아보겠습니다.

.gitconfig를 수정하지 않고 한 줄 명령으로 diff 툴을 사용하기 위해서는 git difftool 명령에 -t 옵션을 사용하면 됩니다. 이 옵션은 사용할 diff 도구를 지정합니다.

  1. tkdiff를 사용하는 경우
    • 다음 명령을 사용하면 tkdiff를 통해 git diff의 결과를 GUI로 볼 수 있습니다. 해당 명령을 수행하면 git에서 diff 파일을 하나씩 보여주면서
    git difftool -t tkdiff
    
    $ git difftool -t tkdiff
    Viewing (1/3): 'pytpcc/drivers/dbmsdriver.py'
    Launch 'tkdiff' [Y/n]? Y

    • tkdiff의 경우 다음과 같은 화면에 나타납니다.
      tkdiff를 사용하여 git diff를 본 화면
      tkdiff를 사용하여 git diff를 본 화면
  2. meld를 사용하는 경우
    • 다음 명령을 사용하면 meld를 통해 git diff의 결과를 GUI로 볼 수 있습니다.
    git difftool -t meld
    
meld를 사용하여 git diff 를 본 화면
meld를 사용하여 git diff 를 본 화면

이 명령들은 git difftool 명령에 -t 옵션을 사용하여 사용할 diff 도구를 직접 지정합니다. 따라서 .gitconfig 파일의 설정을 변경하지 않고도 다양한 diff 도구를 사용할 수 있습니다. 이 방법은 리눅스뿐만 아니라 다른 운영 체제에서도 사용할 수 있습니다. 다만, 각 운영 체제에 따라 설치 방법이나 설정 방법이 다를 수 있으므로, 해당 운영 체제에 맞는 방법을 찾아 사용하시는 것이 좋습니다.

 

vscode에서 git diff 보는 법

Visual Studio Code에서 Git 소스의 diff를 보는 방법은 다음과 같습니다.

  1. Source Control 아이콘 선택
    • 왼쪽의 Activity Bar에서 Source Control 아이콘(파일 모양의 아이콘)을 선택합니다.
    • vscode의 소스 컨트롤 아이콘
  2. 변경 사항 확인
    • Source Control 뷰에서 현재 저장소의 변경 사항을 확인할 수 있습니다.
    • vscode를 사용한 git diff 화면
      vscode를 사용한 git diff 화면
    • 1번이 변경된 파일을 보여주며, 2번이 Remote에 존재하는 원본이고 3번이 Local에 있는 수정본을 보여줍니다.
    • 이 상태에서 바로 편집과 머지 등의 작업이 가능합니다.

이 외에도 Visual Studio Code는 GitLens와 같은 확장 프로그램을 통해 Git의 diff 기능을 더욱 향상시킬 수 있습니다. 이를 통해 두 개의 브랜치를 비교하거나, 특정 커밋 간의 차이를 보는 등의 작업을 수행할 수 있습니다. 이러한 확장 프로그램은 Visual Studio Code의 Marketplace에서 설치할 수 있습니다.

 

결론

오늘은 소스관리 시스템으로 git이나 github를 사용하는 경우에 리눅스나 vscode에서 gui를 통한 diff 확인 방법을 알아보았습니다.

 

facebook twitter kakaoTalk kakaostory naver band shareLink