> 텍스트 처리 및 검색 > meld

meld: 시각적 파일/디렉토리 비교 및 병합 도구

meld는 두 개 또는 세 개의 파일이나 디렉토리를 시각적으로 비교하고 병합하는 데 사용되는 그래픽 유저 인터페이스(GUI) 도구입니다. 코드 리뷰, 패치 적용 전후 확인, 버전 관리 충돌 해결에 매우 유용합니다.

개요

meld는 diff, sdiff와 같은 터미널 기반의 텍스트 비교 도구와 달리, 그래픽 환경에서 파일을 비교합니다. 여러 색상으로 차이점을 명확하게 표시해주며, 사용자가 직접 마우스 클릭으로 변경 사항을 병합할 수 있는 인터랙티브 기능을 제공합니다. 디렉토리 비교 시에도 어떤 파일이 추가, 삭제, 수정되었는지 한눈에 파악할 수 있어, 복잡한 코드 병합 작업을 직관적으로 처리할 수 있게 해줍니다.

주요 특징

meld의 주요 특징은 다음과 같습니다.

  • 두 개 또는 세 개의 파일을 동시에 비교할 수 있습니다.
  • 줄 단위의 차이점을 색상으로 강조하여 시각적으로 쉽게 파악할 수 있습니다.
  • 마우스 클릭만으로 변경 사항을 한쪽 파일에서 다른 쪽 파일로 병합할 수 있습니다.
  • 디렉토리 전체를 재귀적으로 비교하고, 파일들의 상태(동일, 다름, 고유)를 보여줍니다.
  • Git, Mercurial, Subversion 등 다양한 버전 관리 시스템과 통합하여 충돌을 해결하는 데 유용합니다.

터미널 명령과의 차이점

meld는 diff와 같은 터미널 명령과 달리 시각적 상호작용에 초점을 맞춥니다.

  • meld: GUI 기반으로 시각적인 차이점 확인과 인터랙티브한 병합이 가능합니다. 주로 수동 병합 작업에 사용됩니다.
  • diff / sdiff: 터미널 기반으로 텍스트 파일의 차이점을 출력합니다. 주로 스크립트 자동화나 간단한 변경점 확인에 사용됩니다.

주요 옵션

meld는 주로 GUI로 작동하지만, 터미널에서 실행할 때 유용한 몇 가지 옵션이 있습니다.

1) 실행 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`meld` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

meld를 터미널에서 실행하는 예시를 통해 기능을 익혀보세요.

두 파일 비교

meld file1.txt file2.txt

file1.txt와 file2.txt를 GUI로 비교합니다.

두 디렉토리 비교

meld dir1 dir2

dir1과 dir2 디렉토리의 내용을 재귀적으로 비교합니다.

세 파일 비교

meld file1.txt file2.txt file3.txt

file1.txt, file2.txt, file3.txt를 세 개의 창으로 나란히 비교합니다. 충돌 해결 시 유용합니다.

Git 충돌 해결에 meld 사용

git mergetool

Git 병합 중 충돌이 발생했을 때, `git mergetool`의 기본 도구로 meld를 사용하여 충돌을 해결할 수 있습니다.

설치

meld는 대부분의 리눅스 배포판 저장소에 포함되어 있습니다. 아래 명령어를 사용하여 쉽게 설치할 수 있습니다.

Debian/Ubuntu

sudo apt update
sudo apt install meld

RHEL/CentOS/Fedora

sudo dnf install meld

Arch Linux

sudo pacman -S meld

팁 & 주의사항

meld 사용 시 알아두면 좋은 점들입니다.

  • meld는 시각적 도구이므로, X Window System과 같은 그래픽 환경에서만 작동합니다. 원격 서버에서 사용하려면 X11 포워딩(`ssh -X`)이 필요합니다.
  • meld의 왼쪽, 오른쪽 창은 각각 파일 1, 파일 2를 나타냅니다. 가운데 화살표 버튼을 클릭하여 변경 사항을 쉽게 병합할 수 있습니다.
  • Git과 같은 버전 관리 시스템에서 `git config --global merge.tool meld` 명령으로 기본 병합 도구로 설정할 수 있습니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어