Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Git ソース管理の設定

プロジェクトで提供されている Git™ のバージョンを使用するには、プロジェクトをソース管理に追加するときまたはソース管理から取得するときに、[ソース管理ツール] リストで [Git] を選択します。

  • 既存のプロジェクトを Git ソース管理に追加する場合は、そのサンドボックスにローカル Git リポジトリを作成します。リモート リポジトリは後で指定できます。プロジェクトをソース管理に追加するを参照してください。

  • リモート Git リポジトリをクローンしてプロジェクトを作成するには、MATLAB® の [ホーム] タブで [新規][プロジェクト][作成元 Git] を選択します。クローンするリモート リポジトリを指定した後に、ローカル リポジトリが作成されます。リモート リポジトリに対して変更のプル、取得およびプッシュを実行することもできます。Git リポジトリのクローンを参照してください。

    リモート リポジトリで Git サーバーを使用するには、Git サーバー ホスティング ソリューションを使用するか、独自の Apache™ Git サーバーを設定できます。サーバーは設定できないが、file:/// プロトコルを使用したファイル システムを介してリモート リポジトリを使用しなければならない場合は、リポジトリがチェックアウトされている作業コピーがないベア リポジトリであることを確認してください。

  • プロジェクトを GitHub® で公開するには、GitHub を使用したプロジェクトの共有を参照してください。共有すると、開いているプロジェクトに Git のソース管理が追加され、プロジェクトのリモート リポジトリが GitHub になります。

Windows での MATLAB の構成

メモ

R2020b 以降、Git を MATLAB とフルに使用する目的で、コマンド ライン Git をインストールする必要はありません。組み込みの Git 統合を使用してブランチをマージできます。

R2020b より前のリリース用に Git を設定するには、https://www.mathworks.com/help/releases/R2020a/simulink/ug/set-up-git-source-control.htmlを参照してください。

コミット、マージ、プッシュされたコミットの受信など、いくつかの操作では、Git フックを使用します。Git フックを Windows® 上で MATLAB と共に使用するには、Cygwin をインストールして MATLAB ライブラリ パスに追加します。

  1. https://www.cygwin.com/からインストーラーをダウンロードします。インストーラーを実行します。

  2. MATLAB コマンド ウィンドウで「edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))」と入力します。

    librarypath.txt の末尾に、Cygwin の bin フォルダーの場所 (C:\cygwin64\bin など) を追加します。

    librarypath.txt ファイルの編集権限がない場合は、コピーを作成して MATLAB 起動フォルダーに保存します。

  3. MATLAB を再起動して変更を有効にします。

HTTPS または SSH を使用して、GitHub や GitLab™ などのリモート リポジトリのクローンを作成できます。HTTPS を使用してリモート リポジトリとやり取りする際にログイン プロンプトが頻繁に表示されないようにするには、代わりに SSH を使用して新しいパブリック キーを追加し、リポジトリのクローンを作成します。SSH を使用した接続の問題を回避するには、環境変数 HOME を設定し、それを使用して SSH キーを保存します。詳細については、MATLAB での SSH 認証の使用を参照してください。

Git ソース管理対象の新規プロジェクトの場合、MATLAB は自動的にバイナリ ファイルを登録してマージ中の破損を防ぎます。既存のプロジェクトの場合は、バイナリ ファイルを登録してから、Git を使用してブランチをマージします。詳細については、Git へのモデル ファイルの登録を参照してください。

パスが長いファイルを使用して作業している場合、MATLAB で次のコマンドを実行します。

!git config --global core.longpaths true

HTTPS を使用してリモート リポジトリとやり取りする際にログイン プロンプトが頻繁に表示されないようにするには、代わりに SSH を使用して新しいパブリック キーを追加し、リポジトリのクローンを作成します。

MATLAB と Git の統合では、ユーザーの環境変数 HOME を使用して、SSH キーを含む .ssh フォルダーを検索します。環境変数 HOME が設定されていない場合や、SSH キーが適切に保存されていない場合は、GitHub や GitLab のようなリモート リポジトリに 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 はそのキーをオーバーライドするかどうかを尋ねます。

    メモ

    SSH キーを直接 MATLAB で生成することはできません。コマンド ライン Git インストールに付属の ssh-keygen を使用して、SSH キーを生成します。

  2. HOME/.ssh フォルダーにキーを配置します。どの HOME ディレクトリで MATLAB と Git の統合が行われているかを確認するには、MATLAB コマンド ウィンドウに次のように入力します。

    getenv('HOME')
  3. getenv('HOME') が何も返さない場合は、環境変数 HOME を設定する必要があります。

    Windows で環境変数 HOME を設定するには、次を行います。

    • スタート メニューの検索ボックスで、"システムの詳細設定" を検索して選択します。

    • [詳細設定] タブの [環境変数] をクリックします。

    • ユーザー環境変数セクションで、[新規] をクリックします。環境変数 HOME を作成してその値を指定します。

    環境変数 HOME は、Linux® および Mac では常に設定されています。

  4. GitHub または GitLab アカウントを、SSH キーを使用するように設定します。

    • .ssh フォルダー内の .pub ファイルの内容をコピーします。

    • その内容を、アカウント設定の SSH キー セクションにある [Add SSH key] フィールドに貼り付けます。

Git へのモデル ファイルの登録

バイナリ ファイルを .gitattributes ファイルに登録することにより、Git による Simulink® モデルの破損を防止できます。

  • 新規プロジェクト、および他のソース管理システムから切り替えられたプロジェクトの場合、MATLAB は自動的に .gitattributes ファイルを作成し、登録するバイナリ ファイルのリストを入力します。これは、登録されたファイルに対して Git による自動改行、diff およびマージを行わないことを指定します。

  • 既存のプロジェクトの場合は、.gitattributes ファイルを作成して、登録するバイナリ ファイルのリストを入力します。

    1. コマンド ウィンドウで以下のように入力します。

      edit .gitattributes

    2. 必要な各ファイル タイプの行を属性ファイルに追加します。たとえば、*.mlapp binary とします。

      ヒント

      登録する共通のバイナリ ファイルのリストを含む .gitattributes ファイルをコピーできます。

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

    3. MATLAB を再起動して Git クライアントの使用を開始できるようにします。

ヒント

Simulink モデルを圧縮せずに保存することで、Git リポジトリのサイズを削減できます。圧縮をオフにすると、ディスク上の SLX ファイルのサイズは大きくなりますが、リポジトリのサイズは小さくなります。

この設定を新しい SLX ファイルで使用するには、[SLX 圧縮] を [なし] に設定したモデル テンプレートを使用してモデルを作成します。既存の SLX ファイルについては、圧縮を設定してからモデルを保存します。詳細については、SLX 圧縮レベルの設定を参照してください。

関連するトピック