MATLAB 프로젝트에 소스 컨트롤 사용하기
프로젝트 기반 리포지토리를 사용하여 작업을 추적하는 경우 MATLAB®에서 직접 소스 컨트롤 작업을 수행할 수 있습니다. 그 방법은 리포지토리에서 소스 컨트롤 작업을 수행하는 방법과 유사합니다. 프로젝트 기반 리포지토리는 경로와 설정을 관리하기 위한 MATLAB 프로젝트도 포함된 리포지토리입니다. Git™ 또는 Subversion®(SVN)을 사용하여 소스 컨트롤로 프로젝트 파일을 추적할 수 있습니다.
소스 컨트롤과 상호 작용하려면 프로젝트 패널과 소스 컨트롤 패널을 사용하십시오. 프로젝트 툴스트립, 프로젝트 패널의 상황별 메뉴, 소스 컨트롤 패널의 상황별 메뉴 및 소스 컨트롤 패널의 추가 소스 컨트롤 옵션 버튼()을 통해 소스 컨트롤 옵션에 액세스할 수 있습니다. 소스 컨트롤 아이콘과 프로젝트 아이콘이 사이드바에 없으면 패널 더 열기 버튼
을 클릭하여 추가하십시오.
소스 컨트롤을 사용하여 프로젝트 파일을 추적하려면 다음 워크플로 중 하나를 사용하십시오.
Git 소스 컨트롤에 기존 프로젝트 추가 – 프로젝트 루트 폴더에서 로컬 Git 리포지토리를 초기화합니다. 로컬 Git를 초기화하는 방법에 대한 자세한 내용은 Create Local Git Repository in MATLAB 항목을 참조하십시오.
원격 리포지토리에서 호스트된 프로젝트의 작업본 가져오기 – Git 소스 컨트롤 상태에 있는 프로젝트의 경우 Clone Git Repository in MATLAB 항목을 참조하십시오. SVN 소스 컨트롤 상태에 있는 프로젝트의 경우 Work with Files Under SVN in MATLAB 항목을 참조하십시오.
원격 서버에서 호스트된 프로젝트의 작업본을 복제하거나 체크아웃한 후 PRJ 파일을 다운로드하여 프로젝트를 엽니다.
이미 소스 컨트롤 상태에 있는 폴더에 새 프로젝트 만들기 – 이미 소스 컨트롤 상태에 있는 폴더에서 새 프로젝트를 만드는 경우 MATLAB은 소스 컨트롤에 새 프로젝트를 자동으로 추가합니다. 기존 폴더에서 새 프로젝트를 만드는 방법에 대한 지침은 기존 폴더에서 프로젝트 만들기 항목을 참조하십시오.
원격 리포지토리에서 호스트된 파일에서 프로젝트를 만들려는 경우 이 워크플로를 사용하면 됩니다. 작업본을 복제하거나 체크아웃한 후 리포지토리 루트 폴더에서 프로젝트를 만듭니다. 그런 다음 원격 리포지토리에 변경 내용을 푸시하거나 커밋하여 공동 작업자가 프로젝트에 액세스할 수 있도록 합니다.
프로젝트를 GitHub®에 공유 – 프로젝트를 Git 소스 컨트롤 상태에 두고 GitHub 리포지토리를 한 번에 만들 수 있습니다. 자세한 내용은 프로젝트 공유하기 항목을 참조하십시오.
소스 컨트롤 작업 수행하기
소스 컨트롤 상태에 있는 프로젝트에서는 소스 컨트롤 상태에 있는 다른 모든 폴더와 마찬가지로 MATLAB에서 소스 컨트롤 작업을 수행할 수 있습니다. 다음에서 소스 컨트롤 옵션에 액세스할 수 있습니다.
프로젝트 툴스트립
프로젝트 패널의 상황별 메뉴
소스 컨트롤 패널의 상황별 메뉴
소스 컨트롤 패널의 추가 소스 컨트롤 옵션 버튼
경고
프로젝트가 포함된 폴더의 경우, 프로젝트를 열고 파일 패널 대신 프로젝트 패널을 사용하는 것이 가장 좋습니다. 파일 패널은 자동 이름 바꾸기와 같은 프로젝트 기능이나 프로젝트 정의 파일에 저장된 정보를 인식하지 못합니다.
Git 소스 컨트롤 상태에 있는 프로젝트의 경우 MATLAB에서 Git 사용 항목을 참조하십시오.
SVN 소스 컨트롤 상태에 있는 프로젝트의 경우 MATLAB에서 SVN 사용 항목을 참조하십시오.
수정된 프로젝트 파일 검토하기
프로젝트 패널의 소스 컨트롤 요약 상태를 통해 수정되거나 충돌이 난 폴더 내용을 식별할 수 있습니다. 파일 소스 컨트롤 상태를 가리키면 파일의 수정, 충돌, 추가 또는 삭제 여부나 파일이 소스 컨트롤 상태에 있지 않은지를 알려주는 툴팁이 표시됩니다.
수정된 프로젝트 파일 목록만 보려면 소스 컨트롤 패널에서 수정된 파일 목록을 사용하십시오.
수정된 파일 목록 새로 고침 – MATLAB 외부에서 파일을 변경하는 경우, 수정된 파일 목록을 업데이트하려면 소스 컨트롤 상태를 새로 고치십시오. 프로젝트 툴스트립의 소스 컨트롤 섹션에서 새로 고침을 클릭합니다. 또는 소스 컨트롤 패널에서 추가 소스 컨트롤 옵션 버튼
> 새로 고침을 선택합니다.
로컬 변경 내용 보기 – 파일의 로컬 변경 내용을 보려면 프로젝트 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 변경 내용 보기를 선택합니다. 또는 소스 컨트롤 패널의 수정된 파일 목록에서 파일을 마우스 오른쪽 버튼으로 클릭하고 변경 내용 보기를 선택합니다.
수정 이력 보기 – 파일의 수정 이력을 확인하려면 프로젝트 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 수정본 표시를 선택합니다. 또는 소스 컨트롤 패널의 수정된 파일 목록에서 파일을 마우스 오른쪽 버튼으로 클릭하고 수정본 표시를 선택합니다.
Git 소스 컨트롤 상태에 있는 프로젝트의 경우, 브랜치 관리자를 사용하여 커밋 그래프를 볼 수 있습니다.
수정본 비교 – 동일한 파일의 서로 다른 수정본도 비교할 수 있습니다. 프로젝트 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 수정본 표시를 선택합니다.
file
의 로그 대화 상자에서 두 수정본을 선택하고 선택한 파일 비교를 클릭합니다.
수정된 파일을 소스 컨트롤에 커밋하기 전에 프로젝트 검사를 실행할 수 있습니다. 프로젝트 검사는 소스 컨트롤 상태에 있지만 프로젝트에는 없는 파일이나 소스 컨트롤에 체크인된 파생 파일과 같은 문제를 식별하고 해결하는 데 도움이 됩니다. 자세한 내용은 Run Project Checks 항목과 소스 컨트롤 상태에 있는 프로젝트에서 파생 파일 사용하기 항목을 참조하십시오.
수정된 파일을 소스 컨트롤에 커밋하려면 Review and Commit Modified Files to Git 항목 또는 SVN 소스 컨트롤 상태에 있는 수정된 파일의 변경 내용 커밋 또는 되돌리기 항목을 참조하십시오.
프로젝트 메타데이터의 변경 내용 검토하기
프로젝트 정의 파일에 저장된 프로젝트 메타데이터의 변경 내용은 다른 프로젝트 파일의 변경 내용을 검토하는 것과 유사한 방식으로 검토할 수 있습니다. 바로 가기, 레이블 및 프로젝트 설명의 변경 내용을 검토할 수 있습니다. 프로젝트는 이 정보를 resources
폴더에 XML 파일로 저장합니다. 프로젝트 정의 파일에 대한 자세한 내용은 프로젝트 정의 파일 항목을 참조하십시오.
프로젝트 패널의 소스 컨트롤 요약 상태를 통해 resources
폴더에서 수정되거나 충돌이 난 프로젝트 정의 파일을 식별할 수 있습니다. 대규모 프로젝트의 경우, 수정된 프로젝트 파일 목록만 보려면 소스 컨트롤 패널에서 수정된 파일 목록을 사용하십시오.
프로젝트 정의 파일 하나의 변경 내용을 검토하려면 프로젝트 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 변경 내용 보기를 선택합니다. 또는 소스 컨트롤 패널의 수정된 파일 목록에서 파일을 마우스 오른쪽 버튼으로 클릭하고 변경 내용 보기를 선택합니다.
비교 툴이 텍스트 비교 리포트를 엽니다.
팁
R2025a부터는 폴더를 비교할 때 MATLAB이 해당 폴더가 프로젝트 루트 폴더인지 알아냅니다. 비교 툴이 프로젝트 정의 파일 비교 리포트를 엽니다. 자세한 내용은 Compare MATLAB Projects 항목을 참조하십시오.
소스 컨트롤 상태에 있는 프로젝트에서 파생 파일 사용하기
파생된 파일과 임시 파일은 프로젝트에서 생략하거나 소스 컨트롤에서 제외시키는 것이 좋습니다. 파생 파일이나 임시 파일이 프로젝트에 포함되어 있는지 확인하려면 프로젝트 패널의 프로젝트 툴스트립에서 프로젝트 문제를 클릭합니다. 프로젝트 문제 패널의 검사 탭에서 검사 실행을 클릭합니다. 프로젝트에 slprj
폴더를 추가한 경우 프로젝트 검사 결과는 프로젝트에서 이 폴더를 제거하고 수정할 것을 권고합니다. 파생된 파일은 프로젝트가 소스 컨트롤 상태에 있는 경우에만 활성화됩니다.
.mex*
, slprj
폴더, sccprj
폴더 또는 다른 코드 생성 폴더의 내용과 같이 파생된 파일은 문제를 야기할 수 있기 때문에 소스 컨트롤에서 제외시키는 것이 좋습니다. 예를 들면 다음과 같습니다.
파일을 잠글 수 있는 소스 컨트롤 시스템을 사용할 경우 충돌이 발생할 수 있습니다.
slprj
폴더가 소스 컨트롤 상태에 있을 때 코드를 생성하면slprj
폴더에 있는 대부분의 파일이 변경되고 잠깁니다. 다른 사용자는 파일 권한 오류로 인해 코드를 생성할 수 없습니다.slprj
폴더는 코드 생성을 통해 시뮬레이션에도 사용되므로, 이런 파일을 잠그면 팀에 영향을 미칠 수 있습니다..mex*
와 같은 이진 파일에서도 같은 문제가 발생합니다.종종
slprj
폴더를 삭제해야 하는 경우도 있습니다. 그러나slprj
폴더가 일부 소스 컨트롤 툴 상태에 있을 때 이 폴더를 삭제하면 “not a working copy“ 오류 같은 문제가 발생합니다.개발 공정의 산출물로 생성된 코드를 체크인하려면
slprj
캐시 폴더에 있는 일부 파일을 프로젝트에 속한 별도 위치에 복사하는 것이 보통입니다. 그러면 필요할 때 임시 캐시 폴더를 삭제할 수 있습니다. 생성된 코드 파일을 표시하려면packNGo
(MATLAB Coder) 함수를 사용하고, 그 파일을 올바른 메타데이터와 함께 프로젝트에 추가하려면 프로젝트 API를 사용하십시오.slprj
폴더에 작은 크기의 파일이 많을 수 있습니다. 이때 파일이 최신 상태인지 확인하기 위해 각 파일을 체크인할 경우 소스 컨트롤 툴의 성능이 저하될 수 있습니다.