HOWTO · Git

Meld를 ​​Git용 Difftool 및 Mergetool로 설정

이 문서에서는 Meld를 ​​Git의 기본 diff 및 병합 도구로 구성하는 프로세스에 대해 설명합니다.

이 기사에서는 Meld를 ​​Git의 기본 diffmerge 도구로 구성하는 방법에 대해 설명합니다. Meld는 파일 변경 사항을 검사하고 결과를 병합하기 쉽게 해주는 멋진 GUI diff 프로그램입니다.

첫 번째 단계는 항상 프로그램을 다운로드하여 설치하는 것입니다. 완료되면 우리의 지시를 따르십시오.

Meld를 ​​기본 Git Difftool로 구성

Meld를 ​​difftool로 사용하도록 Git을 구성하려면 .gitconfig 파일을 변경해야 합니다. .gitconfig 파일에 아래 줄을 추가합니다.

[diff]
    tool = meld
[difftool]
    prompt = false
[difftool "meld"]
    cmd = meld "$LOCAL" "$REMOTE"

순서는 $LOCAL$REMOTE 인수의 순서에 따라 결정됩니다. 이 경우 원본 파일인 $LOCAL은 왼쪽에 있고 $REMOTE는 오른쪽에 수정된 파일입니다.

다른 방법을 원하면 대신 이것을 사용하십시오.

cmd = meld "$REMOTE" "$LOCAL"

prompt = false 부분은 Git이 기본적으로 수행하는 시작 도구에 대한 확인을 요청하지 않도록 지시합니다.

git difftool 명령을 git diff 명령으로 실행할 수 있습니다.

$ git difftool <BranchName> file_name

Meld를 ​​기본 Git Mergetool로 구성

Meld는 또한 GUI mergetool 덕분에 병합 중 충돌을 쉽게 해결할 수 있습니다. 다시 .gitconfig 파일을 변경하여 Meld를 ​​Git용 mergetool로 구성합니다.

.gitconfig 파일에 아래 줄을 추가합니다.

[merge]
    tool = meld
[mergetool "meld"]
    # Choose one of these 2 lines
    cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
    cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"

병합 충돌이 발생하면 아래 명령을 실행하여 Meld를 ​​mergetool로 사용할 수 있습니다.

$ git mergetool

위의 매개변수를 간단히 살펴보겠습니다.

  1. $LOCAL - 체크아웃된 분기의 파일입니다.
  2. $REMOTE - 병합하려는 분기의 파일입니다.
  3. $MERGED - 병합 충돌이 있는 파일입니다.
  4. $BASE - $REMOTE가 포함된 분기를 만들 때의 원본 파일입니다.

$LOCAL$REMOTEcmd의 순서에 따라 왼쪽과 오른쪽에 있으며 중간에 $BASE 또는 $MERGED가 있을 수 있습니다. Meld는 3방향 보기를 허용하며 충돌을 해결하려면 중간 파일을 편집해야 합니다.

편집 후 프로그램을 닫으면 Git이 파일을 자동으로 업데이트합니다. 이 시점에서 변경 사항을 커밋하고 병합을 마칠 준비가 되었습니다.

또는 Bash에서 몇 가지 명령을 실행하여 .gitconfig 파일을 업데이트할 수 있습니다.

Windows 사용자의 경우 다음 명령을 실행합니다.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false

MELD.exe 파일에 대한 올바른 경로를 입력했는지 확인하십시오.

Linux 사용자는 아래 명령을 사용하여 .gitconfig 파일을 업데이트할 수 있습니다.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false

컴퓨터의 올바른 설치 경로로 위의 코드를 업데이트하십시오.

간단히 말해서 Git의 원래 diffmerge 인터페이스는 매력적이지 않습니다. 그러나 Meld를 ​​기본 GUI difftoolmergetool로 사용하도록 Git을 구성할 수 있습니다.

위 단계에 따라 .gitconfig 파일을 업데이트하기만 하면 됩니다.