차이점 표시 및 병합에 MATLAB을 사용하도록 외부 소스 컨트롤 사용자 지정하기
차이점 표시 및 병합에 MATLAB® 비교 툴을 사용하도록 외부 소스 컨트롤 툴을 사용자 지정할 수 있습니다. 소스 컨트롤 툴에서 MLX 파일, MAT 파일, SLX 파일, MDL 파일과 같은 MATLAB 파일을 비교하려면 MATLAB 비교 툴이 열리도록 소스 컨트롤 툴을 구성하십시오. 지원되는 파일의 전체 목록은 visdiff
를 참조하십시오. MATLAB 비교 툴은 MathWorks® 파일을 병합하기 위한 툴을 제공하며, 널리 사용되는 소프트웨어 구성 관리 및 버전 컨트롤 시스템과 호환됩니다. Git™과 함께 자동 병합 툴을 사용하여 동일한 SLX 파일, SLMX 파일, SLREQX 파일 및 SLTX 파일에 서로 다른 서브시스템의 변경 내용이 포함된 브랜치를 자동으로 병합할 수 있습니다. 자세한 내용은 Automatically Merge Models Locally and in CI Pipeline (Simulink) 항목을 참조하십시오.
MATLAB을 차이점 표시 및 병합용 애플리케이션으로 사용하도록 소스 컨트롤 툴을 설정하려면, 먼저 mlDiff
, mlMerge
및 mlAutoMerge
실행 파일의 전체 경로를 확인한 다음에 사용 중인 소스 컨트롤 툴에 권장되는 단계를 따라야 합니다.
MATLAB 차이점 비교, 병합 및 자동 병합에 사용할 전체 경로 찾기
mlDiff
, mlMerge
및 mlAutoMerge
실행 파일의 필요한 파일 경로를 가져오려면 MATLAB에서 다음 명령을 실행하십시오.
comparisons.ExternalSCMLink.setup()
이 명령은 복사하여 소스 컨트롤 툴 설정에 붙여넣을 파일 경로를 출력합니다. Windows®에서 샘플 경로는 다음과 같습니다.
Diff: C:\Program Files\MATLAB\R2025a\bin\win64\mlDiff.bat
Merge: C:\Program Files\MATLAB\R2025a\bin\win64\mlMerge.bat
AutoMerge: C:\Program Files\MATLAB\R2025a\bin\win64\mlAutoMerge.bat
참고
차이점 표시 및 병합 작업은 열려 있는 MATLAB 세션이 있는 경우 이 세션을 사용하고, 필요한 경우에만 MATLAB을 엽니다. 이러한 작업에는 지정되어 있는 설치된 MATLAB만 사용됩니다.
Git과의 연동
커맨드 라인
커맨드 라인 Git으로 MATLAB 차이점 표시 및 병합 툴을 구성하려면 다음을 수행하십시오.
MATLAB에서 다음 명령을 실행합니다.
comparisons.ExternalSCMLink.setupGitConfig()
이 명령은
mlDiff
,mlMerge
및mlAutoMerge
실행 파일의 전체 경로를 표시합니다. 또한 자동으로 전역.gitconfig
파일을 채웁니다. 예를 들어, 다음과 같이 합니다.[difftool "mlDiff"] cmd = \"C:/Program Files/MATLAB/R20xxb/bin/win64/mlDiff.bat\" $LOCAL $REMOTE [mergetool "mlMerge"] cmd = \"C:/Program Files/MATLAB/R20xxb/bin/win64/mlMerge.bat\" $BASE $LOCAL $REMOTE $MERGED [merge "mlAutoMerge"] driver = \"C:/Program Files/MATLAB/R20xb/bin/win64/mlAutoMerge.bat\" %O %A %B %A
참고
Git 설정에 1단계를 한 번만 수행해야 합니다.
mlAutoMerge
실행 파일을 사용하도록 리포지토리를 구성합니다. 리포지토리에서.gitattributes
파일을 열고 다음을 추가합니다.*.slx binary merge=mlAutoMerge
이제 동일한 SLX 파일에 서로 다른 서브시스템의 변경 내용이 포함된 브랜치를 병합하면 MATLAB이 자동으로 병합을 처리합니다.
커맨드 라인 Git에서 MATLAB 차이점 표시 및 병합 툴을 실행하려면 git difftool
및 git mergetool
을 사용하십시오.
MATLAB 차이점 표시 툴을 사용하여 모델의 두 수정본을 비교하려면 다음을 입력하십시오.
git difftool -t mlDiff <revisonID1> <revisionID2> myModel.slx
수정본 ID를 입력하지 않으면
git difftool
이 작업본을 리포지토리 복사본과 비교합니다.어떤 모델을 비교할지 지정하지 않으면 커맨드 라인 Git이 수정된 파일을 모두 거치면서 하나씩 비교할지 묻습니다.
MATLAB 병합 툴을 사용하여 모델에서 병합 충돌을 해결하려면 다음을 입력하십시오.
git mergetool -t mlMerge myModel.slx
어떤 모델을 병합할지 지정하지 않으면 커맨드 라인 Git이 모든 파일을 거치면서 하나씩 병합할지 묻습니다.
SourceTree
SourceTree는 Windows 및 Mac용 Git 리포지토리를 시각화하고 관리하는 대화형 GUI 툴입니다.
다음을 수행하여 MATLAB 차이점 표시 및 병합 툴을 SourceTree 외부 툴로 구성합니다.
SourceTree를 연 상태에서 Tools > Options를 클릭합니다.
Diff 탭의 External Diff / Merge에서 필드를 다음 정보로 채웁니다.
External Diff tool:
Custom
Diff Command: C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.bat Arguments: $LOCAL $REMOTE Merge tool:Custom
Merge Command: C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.bat Arguments: $BASE $LOCAL $REMOTE $MERGED
다음과 같이
mlAutoMerge
실행 파일을 사용해 동일한 SLX 파일에 포함된 서로 다른 서브시스템의 변경 내용을 자동 병합하도록 리포지토리를 구성합니다.전역
.gitconfig
파일을 열고 다음을 추가합니다.[merge "mlAutoMerge"] driver = \"C:/Program Files/MATLAB/R20xxb/bin/win64/mlAutoMerge.bat\" %O %A %B %A
리포지토리에서
.gitattributes
파일을 열고 다음을 추가합니다.*.slx binary merge=mlAutoMerge
팁
설치된 MATLAB 및 사용 중인 운영 체제와 모두 일치하도록 mlDiff
, mlMerge
및 mlAutoMerge
실행 파일의 전체 경로를 사용자 지정합니다. 자세한 내용은 MATLAB 차이점 비교, 병합 및 자동 병합에 사용할 전체 경로 찾기 항목을 참조하십시오.
SourceTree 내에서 MATLAB 차이점 표시 툴을 사용하려면 Unstaged files에서 수정된 파일을 마우스 오른쪽 버튼으로 클릭하고 External Diff를 선택합니다.
SourceTree가 병합 충돌을 감지할 때 MATLAB 병합 툴을 사용하려면 Uncommitted changes 브랜치를 선택하고 수정된 파일을 마우스 오른쪽 버튼으로 클릭하고 Resolve Conflicts > Launch External Merge Tool을 선택하십시오.
SVN과의 연동
TortoiseSVN
TortoiseSVN을 사용하여 파일 확장자를 기반으로 차이점 표시 및 병합 툴을 사용자 지정할 수 있습니다. 예를 들어, SLX 파일을 대상으로 MATLAB 차이점 표시 및 병합 툴을 사용하는 방법은 다음과 같습니다.
파일 탐색기 창에서 마우스 오른쪽 버튼을 클릭하고 TortoiseSVN > Settings를 선택하여 TortoiseSVN 설정을 엽니다.
Settings 사이드바에서 Diff Viewer를 선택합니다. Advanced를 클릭하여 파일 확장자를 기반으로 차이점 표시 애플리케이션을 지정합니다.
Add를 클릭하고 필드를 확장자와
mlDiff
실행 파일 경로로 채웁니다.Filename, extension or mime-type: .slx External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.bat" %base %mine
OK를 클릭하고 똑같은 단계를 반복해 다른 파일 확장자를 추가합니다.
Settings 사이드바에서 Diff ViewerMerge Tool을 선택합니다. Advanced를 클릭하여 파일 확장자를 기반으로 병합 애플리케이션을 지정합니다.
Add를 클릭하고 필드를 확장자와
mlMerge
실행 파일 경로로 채웁니다.Filename, extension or mime-type: .slx External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.bat" %base %mine %theirs %merged
OK를 클릭하고 똑같은 단계를 반복해 다른 파일 확장자를 추가합니다.
이제 TortoiseSVN 디폴트 차이점 표시 및 병합 애플리케이션을 사용하는 것과 같은 방법으로 차이점 표시 및 병합용 MATLAB 툴을 사용할 수 있습니다.
참고
SVN은 이진 파일(예: SLX 파일)의 자동 병합을 지원하지 않습니다.
다른 소스 컨트롤 툴과의 연동
Perforce P4V
Perforce® P4V를 사용하여 파일 확장자를 기반으로 차이점 표시 및 병합 툴을 사용자 지정할 수 있습니다. 예를 들어, SLX 파일을 대상으로 MATLAB 차이점 표시 및 병합 툴을 사용하는 방법은 다음과 같습니다.
Perforce에서 Edit > Preferences를 클릭합니다.
Preferences 사이드바에서 Diff를 선택합니다. Specify diff application by extension (overrides default)에서 Add를 클릭합니다.
Add File Type 대화 상자에서 다음 정보를 입력합니다.
Extension:
.slx
Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.bat Arguments: %1 %2Save를 클릭합니다.
Preferences 사이드바에서 Merge를 선택합니다. Specify merge application by extension (overrides default)에서 Add를 클릭합니다.
Add File Type 대화 상자에서 다음 정보를 입력합니다.
Extension:
.slx
Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.bat Arguments: %b %2 %1 %rSave를 클릭하고 다른 파일 확장자에 대해 단계를 반복합니다.
팁
설치된 MATLAB 및 사용 중인 운영 체제와 모두 일치하도록 mlDiff
및 mlMerge
실행 파일의 전체 경로를 사용자 지정합니다. 자세한 내용은 MATLAB 차이점 비교, 병합 및 자동 병합에 사용할 전체 경로 찾기 항목을 참조하십시오.
이제 Perforce 디폴트 차이점 표시 및 병합 애플리케이션을 사용하는 것과 같은 방법으로 차이점 표시 및 병합용 MATLAB 툴을 사용할 수 있습니다.