Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Git 소스 컨트롤 설정하기

MATLAB®에서 Git™ 소스 컨트롤을 사용하여 파일을 관리하고 다른 사용자와 협업할 수 있습니다. Git을 사용하면 파일 변경 사항을 추적하고 나중에 특정 버전을 재현할 수 있습니다. 자세한 내용은 Git 리포지토리 복제하기 항목과 Add a Project to Source Control 항목을 참조하십시오.

Git을 사용하기에 앞서 다음 단계에 따라 MATLAB을 위해 설정하십시오.

  • 파일 손상을 피하기 위해 이진 파일을 Git에 등록합니다. (모든 시스템에서 필수)

  • Windows® 시스템에서 Git에 대해 MATLAB을 구성합니다. (Windows 시스템에서 권장)

  • Git SSH 인증을 사용하거나 Git 자격 증명 헬퍼를 설치하도록 MATLAB을 구성하여 잦은 로그인 프롬프트를 방지합니다. (선택 사항)

  • Simulink® 모델의 압축을 비활성화하여 Git 리포지토리 크기를 줄입니다. (선택 사항)

  • 용량이 큰 파일로 작업하는 경우 Git LFS를 사용하도록 Git을 구성합니다. (선택 사항)

  • 차이점 표시 및 병합에 MATLAB을 사용하도록 Git을 구성합니다. (선택 사항)

R2020b 이전 릴리스에서 Git을 사용하여 MATLAB의 브랜치를 병합하려면 커맨드 라인 Git 클라이언트를 설치해야 합니다. 자세한 내용은 커맨드 라인 Git 클라이언트 설치하기 항목을 참조하십시오.

Git에 이진 파일 등록하기

타사 소스 컨트롤 툴을 사용하는 경우 .mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd, .p 등 MATLAB 및 Simulink 파일 확장자를 등록해야 합니다. 또한 .mexa64, .mexmaci64, .mexmaca64, .mexw64 등 MEX 파일 확장자도 등록해야 합니다. 확장자를 등록하지 않으면 파일 제출 시 이러한 툴이 라인 끝(EOL) 문자를 변경하거나, 토큰을 확장하거나, 키워드를 교체하거나, 자동 병합을 시도하여 파일을 손상시킬 수 있습니다. 소스 컨트롤 툴을 MATLAB 외부에서 사용하거나 파일 형식을 우선 등록하지 않고 MATLAB으로부터 파일을 제출하려고 하면 파일이 손상될 수 있습니다.

체크인 시에 손상을 피하려면 다른 파일 확장자가 이진으로 등록되어 있는지도 확인해야 합니다. .xlsx, .jpg, .pdf, .docx 등의 파일 확장자를 확인하고 등록하십시오.

이진 파일 확장자를 Git에 등록하려면 .gitattributes 파일에 추가하십시오. Git 소스 컨트롤을 사용하는 새 프로젝트를 생성하거나 기존 프로젝트를 다른 소스 컨트롤 시스템에서 Git 소스 컨트롤로 전환하는 경우 MATLAB은 자동으로 .gitattributes 파일을 생성하고 등록할 일반적인 이진 파일의 목록으로 이 파일을 채웁니다.

.gitattributes 파일이 자동 생성되지 않는 경우 등록할 일반적인 이진 파일의 목록을 포함하는 파일을 만들어도 됩니다. MATLAB 명령 창에 다음을 입력합니다.

copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files', ...
'mwgitattributes'),fullfile(pwd,'.gitattributes'))

아니면 다음을 입력하여 빈 .gitattributes 파일을 만드십시오.

edit .gitattributes

.gitattributes에 포함되지 않은 이진 파일을 등록하려면 필요한 각 파일 유형마다 파일에 라인을 하나 추가하십시오. 예를 들면 *.mlapp binary를 지정합니다.

Windows에서 Git을 위해 MATLAB 구성하기

Windows 시스템에서 경로가 긴 파일로 작업하는 경우 긴 경로에 대한 지원을 활성화하십시오. 또한 일부 Git 후크를 MATLAB과 함께 사용하려면 Cygwin을 설치하고 MATLAB 라이브러리 경로에 추가합니다. Git 후크는 커밋, 병합, 푸시된 커밋 수신과 같은 작업에서 트리거될 수 있는 사용자 지정 스크립트입니다.

긴 경로에 대한 지원 활성화하기(권장)

Windows 시스템에서 긴 경로에 대한 지원을 활성화하려면 MATLAB에서 다음 명령을 실행합니다.

!git config --global core.longpaths true

Cygwin 설치(선택 사항)

Windows 시스템에 Cygwin을 설치하고 이를 MATLAB 라이브러리 경로에 추가하려면 다음 단계를 따릅니다.

  1. https://www.cygwin.com/에서 인스톨러를 다운로드하여 실행합니다.

  2. MATLAB에서 librarypath.txt를 엽니다.

    edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))

  3. librarypath.txt의 끝에 Cygwin bin 폴더 위치를 추가합니다(예: C:\cygwin64\bin).

    ##
    ## FILE: librarypath.txt
    ##
    ## Entries:
    ##    o path_to_jnifile
    ##    o [alpha,glnx86,sol2,unix,win32,mac]=path_to_jnifile
    ##    o $matlabroot/path_to_jnifile
    ##    o $jre_home/path_to_jnifile
    ##
    $matlabroot/bin/$arch
    $matlabroot/sys/jxbrowser/$arch/lib
    C:\cygwin64\bin

    librarypath.txt 파일을 편집할 권한이 없는 경우 네이티브 메서드 라이브러리 찾기 항목을 참조하십시오.

  4. MATLAB을 다시 시작합니다.

MATLAB을 구성하여 Git SSH 인증을 사용합니다.

HTTPS를 사용하여 원격 리포지토리와 상호 작용할 때 잦은 로그인 프롬프트를 방지하려면 새 공개 키를 추가하고 HTTPS 대신 SSH를 사용하여 리포지토리를 복제하십시오. 다음 표는 MATLAB을 구성하여 운영 체제를 바탕으로 SSH 인증을 사용하는 방법에 대한 지침을 제공합니다.

운영 체제지침
Windows
  1. 커맨드 라인 Git 클라이언트를 설치하고 시스템 전체에서 사용 가능하게 합니다. Git 설치 여부를 확인하기 위해 명령 !git을 MATLAB 명령 창에 입력합니다. 명령이 아무것도 반환하지 않으면 커맨드 라인 Git을 설치해야 합니다. 자세한 내용은 커맨드 라인 Git 클라이언트 설치하기 항목을 참조하십시오.

  2. 모든 MATLAB 세션을 닫습니다.

  3. ssh-keygen 명령을 사용하여 SSH 키를 생성합니다. 예를 들어 Windows 명령 프롬프트에 다음 명령을 입력합니다.

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh-keygen은 키를 어디에 저장해야 할지 확인하고 암호를 요청합니다. 키를 사용할 때 비밀번호를 입력하고 싶지 않으면 암호를 빈 상태로 두십시오.

    지정된 폴더에 이미 키가 있는 경우 ssh-keygen이 기존 키를 재정의할지 묻습니다.

    R2021a 이전 릴리스에서 SSH 키를 RSA 형식으로 생성하려면 -m PEM 옵션을 지정하십시오. 그 외의 경우 ssh-keygen은 디폴트 OpenSSH 형식을 사용하여 SSH 키를 생성합니다. 이는 R2021a 이전 버전의 MATLAB에서 지원되지 않습니다. 예를 들어 Windows 명령 프롬프트에 다음 명령을 입력합니다.

    ssh-keygen -m PEM
    -m PEM 옵션을 지정하지 않고 SSH 키를 생성하는 경우, 다음 명령을 사용하여 키를 지원되는 RSA 형식으로 변환할 수 있습니다. ~/.ssh/id_rsa는 SSH 키 파일의 이름입니다.
    ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

  4. 키를 USERPROFILE/.ssh 또는 HOME/.ssh 폴더에 저장합니다. MATLAB이 어느 USERPROFILE 폴더로 작업 중인지 확인하려면 MATLAB 명령 창에 다음을 입력하십시오.

    getenv('USERPROFILE')

    R2021a 이전 릴리스에서 -m PEM 옵션을 사용하여 SSH 키를 생성한 경우에는 5단계를 건너뛰어도 됩니다.

  5. MATLAB 명령 창에 다음을 입력하여 MATLAB이 SSH 키를 감지하는지 확인합니다.

    git = settings().matlab.sourcecontrol.git;
    git.PrivateKeyFile.PersonalValue = "C:\Users\username\.ssh\id_ed25519";
    git.PublicKeyFile.PersonalValue = "C:\Users\username\.ssh\id_ed25519.pub";

    SSH 키를 생성할 때 암호를 입력한 경우, 암호를 사용하고 세션마다 한 번씩만 프롬프트를 수신하도록 MATLAB을 구성합니다. 그렇게 하려면 Pageant를 사용하거나 MATLAB 명령 창에 다음을 입력하십시오.

    git.KeyHasPassphrase.PersonalValue = true;

    여러 개의 키를 사용하려면 SSH 에이전트로 Pageant를 사용하십시오. Pageant가 실행 중인 경우 MATLAB은 먼저 Pageant에서 키를 찾아본 후 USERPROFILE/.ssh에서 찾아봅니다.

  6. GitHub® 또는 GitLab® 계정이 SSH 키를 사용하도록 구성합니다. 그렇게 하려면 .ssh 폴더로 가서 .pub 파일의 내용을 복사합니다. 그런 다음 계정 설정으로 이동하여 SSH 키 섹션에서 .pub 파일의 내용을 SSH 키 추가 필드에 붙여넣습니다.

Linux®macOS
  1. 모든 MATLAB 세션을 닫습니다.

  2. ssh-keygen 명령을 사용하여 SSH 키를 생성합니다. 예를 들어, 터미널 창에 다음 명령을 입력합니다.

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh-keygen은 키를 어디에 저장해야 할지 확인하고 암호를 요청합니다. 키를 사용할 때 비밀번호를 입력하고 싶지 않으면 암호를 빈 상태로 두십시오.

    지정된 폴더에 이미 키가 있는 경우 ssh-keygen이 기존 키를 재정의할지 묻습니다.

    R2021a 이전 릴리스에서 SSH 키를 RSA 형식으로 생성하려면 -m PEM 옵션을 지정하십시오. 그 외의 경우 ssh-keygen은 디폴트 OpenSSH 형식을 사용하여 SSH 키를 생성합니다. 이는 R2021a 이전 버전의 MATLAB에서 지원되지 않습니다. 예를 들어, 터미널 창에 다음 명령을 입력합니다.

    ssh-keygen -m PEM
    -m PEM 옵션을 지정하지 않고 SSH 키를 생성하는 경우, 다음 명령을 사용하여 키를 지원되는 RSA 형식으로 변환할 수 있습니다. ~/.ssh/id_rsa는 SSH 키 파일의 이름입니다.
    ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

  3. HOME/.ssh 폴더에 키를 배치합니다. MATLAB이 어느 HOME 폴더로 작업 중인지 확인하려면 MATLAB 명령 창에 다음을 입력하십시오.

    getenv('HOME')

    R2021a 이전 릴리스에서 -m PEM 옵션을 사용하여 SSH 키를 생성한 경우에는 4단계를 건너뛰어도 됩니다.

  4. MATLAB 명령 창에 다음을 입력하여 MATLAB이 SSH 키를 감지하는지 확인합니다.

    git = settings().matlab.sourcecontrol.git;
    git.PrivateKeyFile.PersonalValue = "~/.ssh/id_ed25519";
    git.PublicKeyFile.PersonalValue = "~/.ssh/id_ed25519.pub";

    SSH 키를 생성할 때 암호를 입력한 경우, 암호를 사용하고 세션마다 한 번씩만 프롬프트를 수신하도록 MATLAB을 구성합니다. 그렇게 하려면 SSH 에이전트를 사용하거나 MATLAB 명령 창에 다음을 입력하십시오.

    git.KeyHasPassphrase.PersonalValue = true;

    여러 개의 키를 사용하려면 SSH 에이전트를 사용하십시오. SSH 에이전트가 실행 중인 경우 MATLAB은 먼저 에이전트에서 키를 찾아본 후 HOME/.ssh에서 찾아봅니다.

  5. GitHub 또는 GitLab 계정이 SSH 키를 사용하도록 구성합니다. 그렇게 하려면 .ssh 폴더로 가서 .pub 파일의 내용을 복사합니다. 그런 다음 계정 설정으로 이동하여 SSH 키 섹션에서 .pub 파일의 내용을 SSH 키 추가 필드에 붙여넣습니다.

Git 자격 증명 헬퍼 설치하기

R2021a 이후

MATLAB이 Git 사용 시 사용자 이름과 암호를 기억하도록 구성하려면 자격 증명 헬퍼를 설치합니다. 모든 플랫폼에 대해 권장되는 자격 증명 헬퍼는 Git Credential Manager Core입니다.

예를 들어 Windows 시스템에 Git Credential Manager Core를 설치하려면 커맨드 라인 Git 클라이언트 설치하기에 설명된 지침에 따라 Windows용 Git 인스톨러를 다운로드 및 설치합니다. 인스톨러의 Choose a credential helper 섹션에서 Git Credential Manager Core를 자격 증명 헬퍼로 선택합니다.

Git 리포지토리에 저장된 로그인 정보를 삭제하려면 운영 체제에 따라 다음 지침을 따르십시오.

운영 체제지침
Windows

리포지토리의 Git 자격 증명을 재설정하려면 Credential Manager의 Windows Credentials 탭에서 Generic Credentials 아래에 있는 항목을 삭제하십시오.

Linux 및 macOS

리포지토리의 Git 자격 증명을 재설정하려면 다음을 입력하십시오.

echo "url=https://github.com/myrepo.git" | git credential reject

Simulink 모델의 압축 비활성화하기

Simulink 모델을 압축 없이 저장하여 Git 리포지토리의 크기를 줄일 수 있습니다. 압축을 끄면 디스크에 있는 SLX 파일은 커지지만 리포지토리 크기는 줄어듭니다.

새 SLX 파일에서 이 설정을 사용하려면 SLX 압축을 "안 함"으로 설정한 상태로 모델 템플릿을 사용하여 모델을 만드십시오. 기존 SLX 파일의 경우, 압축을 설정하고 모델을 저장하십시오. 자세한 내용은 Set SLX Compression Level 항목을 참조하십시오.

참고

R2023b부터 기본적으로 Simulink는 저장 작업 중에 압축을 적용하지 않습니다.

Git LFS를 사용하도록 Git 구성하기

R2021a 이후

용량이 큰 파일로 작업하는 경우 커맨드 라인 Git을 설치하고 대용량 파일 스토리지(LFS)를 설정하여 Git이 Git LFS를 사용하도록 구성합니다.

예를 들어 Windows 시스템에 Git LFS를 사용하려면 커맨드 라인 Git 클라이언트 설치하기에 설명된 지침에 따라 Windows용 Git 인스톨러를 다운로드하고 설치합니다. Windows용 Git 인스톨러의 Select Components 섹션에서 Git LFS (Large File Support) 옵션과 Associate .sh files to be run with Bash 옵션을 선택합니다.

MATLAB은 Git LFS 잠금을 지원하지 않습니다. 또한 MATLAB은 git lfs track 등의 LFS 명령을 지원하지 않습니다. !git lfs track을 대신 사용하십시오.

차이점 표시 및 병합에 MATLAB을 사용하도록 Git 구성하기

차이점 표시 및 병합에 MATLAB 비교 툴을 사용하도록 Git을 구성할 수 있습니다. MATLAB 비교 툴은 라이브 스크립트, MAT, DLX, MDL 파일 등의 MathWorks® 파일을 병합하기 위한 툴을 제공합니다. 자동 병합 툴을 Git과 함께 사용하여 동일한 SLX 파일 내의 여러 서브시스템에서 변경 사항을 포함하는 브랜치를 자동 병합할 수 있습니다.

Git이 MATLAB의 비교 툴을 사용하도록 구성하는 방법에 대한 자세한 정보는 Customize External Source Control to Use MATLAB for Diff and Merge 항목을 참조하십시오.

커맨드 라인 Git 클라이언트 설치하기

Git LFS 또는 자격 증명 헬퍼를 사용하려면 커맨드 라인 Git 클라이언트를 설치하고 시스템 전체에서 사용 가능하게 해야 합니다. R2020b 이전 릴리스에서 Git을 사용하여 MATLAB의 브랜치를 병합하려면 커맨드 라인 Git 클라이언트를 설치해야 합니다.

Git 설치 여부를 확인하기 위해 명령 !git을 MATLAB 명령 창에 입력합니다. 명령이 아무것도 반환하지 않으면 커맨드 라인 Git을 설치해야 합니다. 다음 표에서는 운영 체제에 따라 커맨드 라인 Git을 설치하는 방법에 대한 지침을 제공합니다.

운영 체제지침
Windows
  1. https://gitforwindows.org/에서 인스톨러를 다운로드하여 실행합니다.

  2. Adjusting your PATH environment 섹션에서 설치 옵션 Git from the command line and also from 3rd-party software를 선택합니다. 이 옵션은 PATH 변수에 Git을 추가하고 MATLAB이 Git과 통신할 수 있도록 시스템 전체에서 이 변수를 사용할 수 있게 합니다.

  3. 라인 끝 변환 구성 섹션에서 Checkout Windows-style, commit Unix-style line endings 옵션을 선택합니다. 라인 끝 형식은 머신과 사용자 간에 강제할 수 없지만, 각 리포지토리의 .gitattributes 파일에서 텍스트 파일에 대해 일관된 라인 끝을 지원할 수 있습니다.

  4. 변경 사항이 적용되도록 시스템을 다시 시작합니다.

Linux

대부분의 배포판에서 Git을 사용할 수 있습니다. 해당 배포판에 Git을 설치합니다. 예를 들어, Debian®에서는 다음을 입력하여 Git을 설치합니다.

sudo apt-get install git
macOSMavericks(10.9) 또는 이후 버전의 터미널 창에서 Git을 실행합니다. Git이 아직 설치되어 있지 않으면 Xcode Command Line Tools를 설치하라는 프롬프트가 표시됩니다. 자세한 내용은 https://git-scm.com/doc 항목을 참조하십시오.

참고 항목

함수

관련 항목