Main Content

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

Git 소스 컨트롤 설정하기

참고

R2020b부터 MATLAB®에서 Git™을 완전히 활용하기 위해 커맨드 라인 Git을 설치할 필요가 없습니다. 이제 내장 Git 연동을 사용하여 브랜치를 병합할 수 있습니다.

R2020b 이전 릴리스에 Git을 설정하려면 https://www.mathworks.com/help/releases/R2020a/matlab/matlab_prog/set-up-git-source-control.html 항목을 참조하십시오.

Windows에서 MATLAB 구성하기

커밋, 병합, 푸시된 커밋 수신과 같은 여러 가지 작업에서 Git Hooks를 사용합니다. MATLAB이 설치된 Windows®에서 Git Hooks를 사용하려면 Cygwin을 설치하고 MATLAB 라이브러리 경로에 추가하십시오.

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

  2. MATLAB 명령 창에 edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))를 입력합니다.

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

    librarypath.txt 파일을 편집할 권한이 없는 경우 Locate Native Method Libraries 항목을 참조합니다.

  3. MATLAB을 다시 시작하여 변경 사항을 적용합니다.

HTTPS 또는 SSH를 사용하여 GitHub® 및 GitLab™과 같은 원격 리포지토리를 복제할 수 있습니다. HTTPS를 사용하여 원격 리포지토리와 상호 작용할 때 잦은 로그인 프롬프트를 방지하려면 Git 자격 증명 관리자를 구성하여 자격 증명을 저장하거나 SSH를 대신 사용하여 새 공개 키를 추가하고 리포지토리를 복제하십시오. 자세한 내용은 MATLAB에서 SSH 인증 사용하기 항목을 참조하십시오.

Git 소스 컨트롤 상태에 있는 새 프로젝트의 경우 MATLAB이 자동으로 이진 파일을 등록하여 병합 시 손상을 방지합니다. 기존 프로젝트의 경우 Git을 사용하여 브랜치를 병합하기 전에 이진 파일을 등록합니다. 자세한 내용은 Git에 이진 파일 등록하기 항목을 참조하십시오.

긴 경로 파일을 사용하는 경우 MATLAB에서 다음 명령을 실행합니다.

!git config --global core.longpaths true

MATLAB에서 SSH 인증 사용하기

HTTPS를 사용하여 원격 리포지토리와 상호 작용할 때 잦은 로그인 프롬프트를 방지하려면 SSH를 대신 사용하여 새 공개 키를 추가하고 리포지토리를 복제하십시오.

MATLAB 내에서 SSH 인증을 사용하려면 다음을 수행하십시오.

  1. ssh-keygen을 사용하여 유효한 SSH 키를 생성합니다. 명령 프롬프트에서 다음을 입력합니다.

    ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):
    Created directory 'C:\Users\username/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:\Users\username/.ssh/id_rsa.
    Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:/Nc9/tnZ7Dmh77+iJMxmPVrlPqaFd6J1j1YRXEk3Tgs company\username@us-username
    ssh-keygen이 키(예: .ssh/id_rsa)를 저장할 위치를 확인하고 암호를 묻습니다. 키를 사용할 때 비밀번호를 입력하고 싶지 않으면 암호를 빈 상태로 두십시오. 지정된 폴더에 이미 키가 있는 경우 ssh-keygen은 키를 재정의할지 묻습니다.

    참고

    MATLAB에서 직접 SSH 키를 생성할 수는 없습니다. 커맨드 라인 Git 설치와 함께 제공된 ssh-keygen을 사용하여 SSH 키를 생성합니다.

  2. Linux와 Mac의 경우 HOME/.ssh 폴더에 키를 넣습니다. MATLAB Git 연동에서 사용하는 HOME 디렉터리를 확인하려면 MATLAB 명령 창에서 다음을 입력하십시오.

    getenv('HOME')

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

    Windows의 경우 USERPROFILE/.ssh 또는 HOME/.ssh 폴더에 키를 넣으십시오. MATLAB Git 연동에서 사용하는 USERPROFILE 디렉터리를 확인하려면 MATLAB 명령 창에서 다음을 입력하십시오.

    getenv('USERPROFILE')

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

  3. 다음과 같이 SSH 키를 사용하도록 GitHub 또는 GitLab 계정을 구성합니다.

    • .ssh 폴더에서 .pub 파일의 내용을 복사합니다.

    • 계정 설정의 SSH keys 섹션에서 Add SSH key 필드에 내용을 붙여넣습니다.

Git에 이진 파일 등록하기

타사 소스 컨트롤 툴을 사용하는 경우, .mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd.p와 같은 MATLAB 및 Simulink® 파일 확장자를 이진 형식으로 등록해야 합니다. 확장자를 등록하지 않으면, 라인 끝(EOL) 문자 변경, 토큰 확장, 키워드 대체, 또는 자동 병합 시도 등을 통해 파일을 제출할 때 이러한 툴이 파일을 손상시킬 수 있습니다. MATLAB 외부에서 소스 컨트롤 툴을 사용하는 경우나 먼저 파일 형식을 등록하지 않은 채로 MATLAB에서 파일을 제출하려고 하는 경우에 손상이 발생할 수 있습니다.

다른 파일 확장자가 이진 형식으로 등록되어 있는지 확인하여 체크인 시 손상되지 않도록 하십시오. MEX 파일, .xlsx, .jpg, .pdf, .docx 등의 파일을 확인하고 등록하십시오.

.gitattributes 파일에 이진 파일을 등록하여 Git으로 인한 파일 손상을 방지할 수 있습니다.

  • 새 프로젝트 및 다른 소스 컨트롤 시스템에서 전환된 프로젝트의 경우 MATLAB이 자동으로 .gitattributes 파일을 만들어 등록할 이진 파일 목록으로 채웁니다. 이 파일은 Git이 등록된 파일에 대해 자동 라인 피드 처리, 차이점 비교, 병합을 시도하지 않도록 지정합니다.

  • 기존 프로젝트의 경우 .gitattributes 파일을 만들어 등록할 이진 파일 목록으로 채웁니다.

    1. 명령 창에 다음을 입력합니다.

      edit .gitattributes

    2. 각각의 필요한 파일 형식에 대한 라인을 attributes 파일에 추가합니다. 예를 들면 *.mlapp binary와 같습니다.

      등록할 공통 이진 파일 목록이 포함된 .gitattributes 파일을 복사할 수 있습니다.

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

    3. Git 클라이언트를 사용할 수 있도록 MATLAB을 다시 시작합니다.

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

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

Git 자격 증명 헬퍼 구성하기

자격 증명 헬퍼를 사용하여 사용자 이름과 비밀번호를 저장하도록 Git을 구성할 수 있습니다. 모든 플랫폼에서 Git Credential Manager Core를 자격 증명 헬퍼로 사용할 것을 권장합니다.

자격 증명을 저장하려면 Git이 설치되어 있어야 합니다. Windows의 경우 Git for Windows를 설치하십시오.

관련 항목