Main Content

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

Git 소스 컨트롤 설정하기

MATLAB®에서 Git™ 소스 컨트롤을 사용하여 파일을 관리하고 다른 사용자와 협업할 수 있습니다. Git을 사용하면 파일의 변경 사항을 추적하고 나중에 특정 버전을 다시 불러올 수 있습니다. 자세한 내용은 MATLAB에서 Git 사용하기 항목을 참조하십시오.

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

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

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

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

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

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

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

R2020b 이전 릴리스에서, MATLAB에서 Git을 사용하여 브랜치를 병합하려면 커맨드 라인 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. Cygwin bin 폴더 위치를 librarypath.txt의 끝에 추가합니다(예: 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을 다시 시작합니다.

Git SSH 인증을 사용하도록 MATLAB 구성하기

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

운영 체제지침
Windows
  1. 커맨드 라인 Git 클라이언트를 설치하고 시스템 전체에서 사용할 수 있도록 합니다. Git이 설치되어 있는지 확인하려면 MATLAB 명령 창에 명령 !git을 입력하십시오. 이 명령이 어떤 값도 반환하지 않으면 커맨드 라인 Git을 설치해야 합니다. 자세한 내용은 커맨드 라인 Git 클라이언트 설치하기 항목을 참조하십시오.

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

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

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh-keygen이 키를 저장할 위치를 확인하고 암호를 묻습니다. 키를 사용할 때 비밀번호를 입력하고 싶지 않으면 암호를 빈 상태로 두십시오.

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

    R2021a 이전 릴리스에서는 -m PEM 옵션을 지정하여 RSA 형식으로 SSH 키를 생성합니다. 옵션을 지정하지 않으면 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이 SSH 키를 감지하는지 확인하려면 MATLAB 명령 창에 다음을 입력하십시오.

    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;

    여러 개의 키를 사용하려면 Pageant를 SSH 에이전트로 사용하십시오. Pageant가 실행 중이면 MATLAB은 USERPROFILE/.ssh에서 확인하기 전에 Pageant에서 키를 검색합니다.

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

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

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

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh-keygen이 키를 저장할 위치를 확인하고 암호를 묻습니다. 키를 사용할 때 비밀번호를 입력하고 싶지 않으면 암호를 빈 상태로 두십시오.

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

    R2021a 이전 릴리스에서는 -m PEM 옵션을 지정하여 RSA 형식으로 SSH 키를 생성합니다. 옵션을 지정하지 않으면 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이 SSH 키를 감지하는지 확인하려면 MATLAB 명령 창에 다음을 입력하십시오.

    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. SSH 키를 사용하도록 GitHub 또는 GitLab 계정을 구성합니다. 이렇게 하려면 .ssh 폴더로 이동하여 .pub 파일의 내용을 복사하십시오. 그런 다음 계정 설정으로 이동하여 SSH keys 섹션에서 Add SSH key 필드에 .pub 파일 내용을 붙여 넣습니다.

Git 자격 증명 헬퍼 설치하기

R2021a 이후

Git을 사용할 때 사용자 이름과 비밀번호를 기억하도록 MATLAB을 구성하려면 자격 증명 헬퍼를 설치하십시오. 모든 플랫폼에 권장하는 자격 증명 헬퍼는 Git Credential Manager Core입니다.

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

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

운영 체제지침
Windows

리포지토리의 Git 자격 증명을 재설정하려면, 자격 증명 관리자의 Windows 자격 증명 탭에서 일반 자격 증명 아래에 있는 해당 항목을 삭제합니다.

Linux 및 macOS

리포지토리의 Git 자격 증명을 재설정하려면, 다음을 입력합니다.

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

Simulink 모델 압축 비활성화하기

Simulink 모델을 압축하지 않고 저장하여 Git 리포지토리 크기를 줄일 수 있습니다. 압축을 비활성화하면 디스크에서 SLX 파일 크기가 더 커지지만 리포지토리 크기는 줄어듭니다.

새 SLX 파일에 이 설정을 사용하려면 SLX Compression이 none으로 설정된 모델 템플릿을 사용하여 모델을 만드십시오. 기존 SLX 파일의 경우, 압축을 설정한 다음 모델을 저장합니다. 자세한 내용은 Set SLX Compression Level (Simulink) 항목을 참조하십시오.

참고

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

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

R2021a 이후

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

예를 들어, 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, SLX 또는 MDL 파일 등의 MathWorks® 파일을 병합하는 툴을 제공합니다. Git과 함께 자동 병합 툴을 사용하여 동일한 SLX 파일에 서로 다른 서브시스템의 변경 내용이 포함된 브랜치를 자동으로 병합할 수 있습니다.

MATLAB 비교 툴을 사용하도록 Git을 구성하는 방법에 대한 자세한 내용은 차이점 표시 및 병합에 MATLAB을 사용하도록 외부 소스 컨트롤 사용자 지정하기 항목을 참조하십시오.

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

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

Git이 설치되어 있는지 확인하려면 MATLAB 명령 창에 명령 !git을 입력하십시오. 이 명령이 어떤 값도 반환하지 않으면 커맨드 라인 Git을 설치해야 합니다. 다음 표에서는 운영 체제에 따라 커맨드 라인 Git을 설치하는 방법에 대한 지침을 제공합니다.

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

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

  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 항목을 참조하십시오.

참고 항목

함수

관련 항목