Git ソース管理の設定
MATLAB® で Git™ ソース管理を使用すると、ファイルを管理して他のユーザーと共同作業を行うことができます。Git を使用すると、ファイルの変更を追跡して、後で特定のバージョンを再表示できます。詳細については、Track Work Locally with Git in MATLABおよびCollaborate Using Git in MATLABを参照してください。
Git を使用する前に、次の手順に従って MATLAB 用に設定します。
(すべてのシステムで必須) ファイルの破損を避けるために、バイナリ ファイルを Git に登録する。詳細については、バイナリ ファイルの Git への登録を参照してください。
(Windows® システムで推奨) Windows システムで Git 用に長いパスのサポートを有効にする。詳細については、長いパスのサポートの有効化を参照してください。
(すべてのシステムで推奨) モデル ファイルを自動的にマージするように MATLAB を構成する。詳細については、ロカールおよび CI パイプラインでのモデルの自動マージ (Simulink)を参照してください。
(オプション) コミットに署名するように MATLAB を構成する。詳細については、コミットへの署名の有効化を参照してください。
(オプション) ログイン プロンプトが頻繁に表示されないようにするために、Git SSH 認証を使用するように MATLAB を構成するか、Git 資格情報ヘルパーをインストールする。詳細については、Git SSH 認証を使用するための MATLAB の設定を参照してください。
(オプション) Git 資格情報を管理するように MATLAB を構成する。詳細については、Git 資格情報の管理を参照してください。
(オプション) 大規模なファイルを取り扱う場合は、Git LFS を使用するように Git を構成する。詳細については、Git LFS を使用するための Git の設定を参照してください。
(オプション) 比較とマージに MATLAB を使用するように外部 Git ツールを構成する。詳細については、比較とマージに MATLAB を使用するための外部ソース管理のカスタマイズを参照してください。
R2024a 以降では、MATLAB 内から Git フックを実行できます。サポートされるフックは、pre-commit
、commit-msg
、post-commit
、prepare-commit-msg
、pre-push
、pre-merge-commit
、post-checkout
、および post-merge
です。例については、Use Git Hooks in MATLABを参照してください。
バイナリ ファイルの Git への登録
サードパーティのソース管理ツールを使用する場合、MATLAB および Simulink® のファイル拡張子 (.mlx
、.mat
、.fig
、.mlapp
、.mdl
、.slx
、.mdlp
、.slxp
、.sldd
、.p
など) をバイナリ形式で登録しなければなりません。また、.mexa64
、.mexmaci64
、.mexmaca64
、.mexw64
など、MEX ファイルの拡張子も登録します。拡張子を登録しないと、ファイルを送信するときに、行末の文字の変更、トークンの展開、キーワードの代入または automerge の試行によって、これらのツールがファイルを破損する可能性があります。ファイルの破損は 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
ファイルを作成し、その内容を取り込みます。
.gitattributes
ファイルの先頭に* text=auto
を追加します。すべてのバイナリ ファイルの拡張子
ext
について、*.
を追加します。たとえば、ext
binary*.mlapp binary
のようになります。
長いパスのサポートの有効化
次の手順に従って、Windows システムで長いパスのサポートを有効にします。
[ホーム] タブの [環境] セクションで [設定] をクリックします。[MATLAB] 、 [ソース管理] 、 [Git] を選択します。
[Windows] セクションで、[長いパスのサポートを有効にする] を選択します。これを行うと、グローバル Git 構成ファイル内の
core.longpaths
の値がtrue
に設定されます。
詳細については、Git 設定の構成を参照してください。
コミットへの署名の有効化
次の手順に従って、ソース管理設定を構成し、MATLAB が Git コミットに自動的に署名できるようにします。MATLAB でコミット シグネチャが検証されると、ブランチ マネージャーと MATLAB エディターのラインの注釈の両方で、アバターとユーザー名の横に緑色の検証アイコン が表示されます。
[ホーム] タブの [環境] セクションで [設定] をクリックします。[MATLAB] 、 [ソース管理] 、 [Git] を選択します。
[コミット署名] セクションで、署名キー、署名キーの形式、および署名プログラムを設定します。詳細については、Git 設定の構成を参照してください。
Git SSH 認証を使用するための MATLAB の設定
HTTPS を使用してリモート リポジトリとやり取りする際にログイン プロンプトが頻繁に表示されないようにするには、代わりに SSH を使用して新しい公開鍵を追加し、リポジトリのクローンを作成します。次の手順に従って、SSH 認証を使用するように MATLAB を設定します。
ssh-keygen
コマンドを使用して SSH キーを生成します。たとえば、コマンド プロンプトで次のコマンドを入力します。ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygen
は、キーの保存場所の確認を求め、パスフレーズを要求します。キーを使用するときにパスワードを入力しない場合は、パスフレーズを空のままにします。指定したフォルダーにキーが既にある場合、
ssh-keygen
はそのキーをオーバーライドするかどうかを尋ねます。MATLAB で SSH キーの使用を設定します。[ホーム] タブの [環境] セクションで [設定] をクリックします。[MATLAB] 、 [ソース管理] 、 [Git] を選択します。次に、設定を構成します。
[SSH] セクションで、[SSH を有効にする] を選択します (有効になっていない場合)。
既定では、MATLAB は SSH エージェントでキーを検索します。Windows では、SSH エージェントとして OpenSSH を使用します。詳細については、Windows 用 OpenSSH でのキーベースの認証を参照してください。
SSH エージェントを使用すると、複数のキーを保存して使用できます。
SSH エージェントを使用してキーを保存していない場合は、手動でキーを入力できます。[SSH エージェントを使用] チェックボックスをオフにします。次に、[公開鍵ファイル] と [秘密鍵ファイル] に公開鍵ファイルと秘密鍵ファイルのパスを指定します。詳細については、Git 設定の構成を参照してください。
パスフレーズを有効にし、セッションごとに 1 回だけプロンプトを受け取るようにするには、[キーはパスフレーズで保護されています] を選択します。
GitHub® または GitLab® アカウントを、SSH キーを使用するように設定します。そのためには、
.ssh
フォルダーに移動して.pub
ファイルの内容をコピーします。次に、アカウント設定に移動して、[SSH keys] セクションで.pub
ファイルの内容を [Add SSH key] フィールドに貼り付けます。
Git 資格情報の管理
既定では、Git リポジトリを操作すると、MATLAB はユーザー名とトークンを記憶します。既定の資格情報の基本設定を変更するには、[ホーム] タブの [環境] セクションで、[設定] をクリックします。[MATLAB] 、 [ソース管理] 、 [Git] を選択します。[資格情報] セクションで、利用可能なオプションのいずれかを選択します。詳細については、Git 設定の構成を参照してください。
あるいは、外部の Git 資格情報ヘルパーをインストールし、代わりにそれを使用するように MATLAB を構成することもできます。すべてのプラットフォームで推奨される資格情報ヘルパーは、Git Credential Manager Core です。詳細については、その他の設定の「Git 資格情報ヘルパーを使用するための MATLAB の構成」を参照してください。
Git リポジトリ用の保存されているログイン情報を削除するには、MATLAB で次のように入力します。
matlab.git.clearCredential("https://github.com/myrepo.git")
Git LFS を使用するための Git の設定
大規模なファイルを取り扱う場合は、Git Large File Storage (LFS) を使用するように Git を設定します。そのためには、コマンド ライン版の Git をインストールして LFS を設定します。
たとえば、Windows システムで Git LFS を使用するには、その他の設定の「コマンド ライン版の Git クライアントのインストール」で説明されている手順で Git for Windows インストーラーをダウンロードして実行します。Git for Windows インストーラーの [Select Components] セクションで、[Git LFS (Large File Support)] オプションおよび [Associate .sh files to be run with Bash] オプションを選択します。
その他の設定
Git LFS または資格情報ヘルパーを使用するには、コマンド ライン版の Git クライアントをインストールして、システム全体で使用できるようにする必要があります。
Git リポジトリを操作すると、MATLAB はユーザー名とトークンを記憶します。代わりに、外部の Git 資格情報ヘルパーを使用して Git 資格情報を保存することもできます。Git Credential Manager Core が、すべてのプラットフォームで推奨される資格情報ヘルパーです。