개요
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` 명령으로 기본 병합 도구로 설정할 수 있습니다.