このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB プロジェクトでのソース管理の使用
プロジェクトベースのリポジトリを使用して作業を追跡する場合、ソース管理操作を MATLAB® から直接実行できます。これは、ソース管理を任意のリポジトリから実行する方法と同様です。プロジェクトベースのリポジトリは、パスと設定を管理するための MATLAB プロジェクトも含むリポジトリです。Git™ または Subversion® (SVN) を使用して、ソース管理でプロジェクト ファイルを追跡できます。
ソース管理を操作するには、[プロジェクト] パネルと [ソース管理] パネルを使用します。ソース管理オプションには、[プロジェクト] ツールストリップ、[プロジェクト] パネルのコンテキスト メニュー、[ソース管理] パネルのコンテキスト メニュー、および [ソース管理] パネルの [その他のソース管理オプション] ボタン からアクセスできます。[ソース管理] アイコンと [プロジェクト] アイコンがサイドバーにない場合は、[パネルをさらに開く] ボタン
をクリックして追加します。
ソース管理を使用したプロジェクト ファイルの追跡を開始するには、次のいずれかのワークフローを使用します。
既存のプロジェクトを Git ソース管理に追加する – プロジェクトのルート フォルダーでローカル Git リポジトリを初期化します。ローカル Git を初期化する方法の詳細については、Create Local Git Repository in MATLABを参照してください。
リモート リポジトリでホストされるプロジェクトの作業コピーを取得する – Git ソース管理対象のプロジェクトの場合は、Clone Git Repository in MATLABを参照してください。SVN ソース管理対象のプロジェクトの場合は、Work with Files Under SVN in MATLABを参照してください。
リモート サーバーでホストされるプロジェクトの作業コピーをクローンまたはチェックアウトしたら、PRJ ファイルをダウンロードしてプロジェクトを開きます。
既にソース管理下にあるフォルダーで新しいプロジェクトを作成する – ソース管理に既に存在するフォルダーから新規プロジェクトを作成すると、MATLAB により新しいプロジェクトがソース管理に自動的に追加されます。既存のフォルダーから新しいプロジェクトを作成する方法の手順については、既存フォルダーからのプロジェクトの作成を参照してください。
このワークフローは、リモート リポジトリでホストされるファイルからプロジェクトを作成する場合に使用できます。作業コピーをクローンまたはチェックアウトしたら、リポジトリのルート フォルダーからプロジェクトを作成します。次に、変更をリモート リポジトリにプッシュまたはコミットして、共同作業の相手がプロジェクトにアクセスできるようにします。
GitHub® でプロジェクトを共有する – プロジェクトを Git ソース管理下に置き、GitHub リポジトリを作成する操作を 1 ステップで実行できます。詳細については、プロジェクトの共有を参照してください。
ソース管理操作の実行
ソース管理下のプロジェクトでは、ソース管理下の他のフォルダーと同様に、MATLAB でのソース管理操作を実行できます。ソース管理オプションには、以下でアクセスできます。
[プロジェクト] ツールストリップ
[プロジェクト] パネルのコンテキスト メニュー
[ソース管理] パネルのコンテキスト メニュー
[ソース管理] パネルの [その他のソース管理オプション] ボタン
警告
プロジェクトを含むフォルダーの場合は、プロジェクトを開いて、[ファイル] パネルではなく [プロジェクト] パネルを使用することをお勧めします。[ファイル] パネルでは、自動名前変更などのプロジェクト機能や、プロジェクト定義ファイルに保存されている情報が認識されません。
Git ソース管理対象のプロジェクトの場合は、MATLAB での Gitを参照してください。
SVN ソース管理対象のプロジェクトの場合は、MATLAB での SVNを参照してください。
変更済みプロジェクト ファイルの確認
[プロジェクト] パネルのソース管理の概要ステータスを使用すると、フォルダーの変更された内容または競合のある内容を特定できます。ファイルのソース管理ステータスにカーソルを合わせると、そのファイルが変更されたファイル、競合のあるファイル、追加されたファイル、削除されたファイル、またはソース管理対象外のファイルである場合はツールヒントが表示されます。
変更済みプロジェクト ファイルのリストのみを表示するには、[ソース管理] パネルの [変更済みファイル] リストを使用します。
変更済みファイルのリストの更新 – MATLAB の外部でファイルに変更を加えた場合に、変更済みファイルのリストを更新するには、ソース管理ステータスを更新します。[プロジェクト] ツールストリップの [ソース管理] セクションで [更新] をクリックします。あるいは、[ソース管理] パネルで、[その他のソース管理オプション] ボタン
から [更新] オプションを選択します。
ローカルな変更の表示 – ファイル内のローカルな変更を表示するには、[プロジェクト] パネルでファイルを右クリックし、[ソース管理] 、 [変更を表示] を選択します。あるいは、[ソース管理] パネルの [変更済みファイル] リストで、ファイルを右クリックして [変更を表示] を選択します。
リビジョン履歴の表示 – ファイルのリビジョン履歴を表示するには、[プロジェクト] パネルでファイルを右クリックし、[ソース管理] 、 [リビジョンの表示] を選択します。あるいは、[ソース管理] パネルの [変更済みファイル] リストで、ファイルを右クリックして [リビジョンの表示] を選択します。
Git ソース管理対象のプロジェクトの場合は、ブランチ マネージャーを使用してコミット グラフを表示できます。
リビジョンの比較 – 同じファイルの異なるリビジョンを比較することもできます。[プロジェクト] パネルで、ファイルを右クリックし、[ソース管理] 、 [リビジョンの表示] を選択します。["
file
" のログ] ダイアログ ボックスで、2 つのリビジョンを選択して [選択対象の比較] をクリックします。
変更済みファイルをソース管理にコミットする前に、プロジェクト チェックを実行できます。プロジェクト チェックは、ソース管理対象だがプロジェクトに存在しないファイルや、ソース管理にチェックインされた派生ファイルなどの問題を特定し、修正するうえで役立ちます。詳細については、Run Project Checksとソース管理対象プロジェクトの派生ファイルの使用を参照してください。
変更済みファイルをソース管理にコミットするには、Review and Commit Modified Files to Gitまたは SVN ソース管理対象の変更済みファイルに対する変更のコミットまたは取り消しを参照してください。
プロジェクト メタデータの変更の確認
他のプロジェクト ファイルの変更を確認する場合と同様の方法で、プロジェクト定義ファイルに保存されているプロジェクト メタデータの変更を確認できます。ショートカット、ラベル、およびプロジェクトの説明への変更を確認できます。プロジェクトは、この情報を resources
フォルダー内の XML ファイルに保存します。プロジェクト定義ファイルの詳細については、プロジェクト定義ファイルを参照してください。
[プロジェクト] パネルのソース管理の概要ステータスを使用すると、resources
フォルダー内の変更されたプロジェクト定義ファイルまたは競合のあるプロジェクト定義ファイルを特定できます。大規模なプロジェクトの場合に、変更済みプロジェクト ファイルのリストのみを表示するには、[ソース管理] パネルの [変更済みファイル] リストを使用します。
単一のプロジェクト定義ファイル内の変更を確認するには、[プロジェクト] パネルでファイルを右クリックし、[ソース管理] 、 [変更を表示] を選択します。あるいは、[ソース管理] パネルの [変更済みファイル] リストで、ファイルを右クリックして [変更を表示] を選択します。
比較ツールでテキスト比較レポートが開きます。
ヒント
R2025a 以降では、フォルダーを比較する際、それらがプロジェクトのルート フォルダーであるかどうかが MATLAB によって検出されます。プロジェクト定義ファイルの比較レポートが比較ツールで開きます。詳細については、Compare MATLAB Projectsを参照してください。
ソース管理対象プロジェクトの派生ファイルの使用
派生ファイルおよび一時ファイルは、プロジェクトまたはソース管理から除外することをお勧めします。派生ファイルまたは一時ファイルがプロジェクトに含まれているかどうかを確認するには、[プロジェクト] パネルの [プロジェクト] ツールストリップで、[プロジェクトの問題] をクリックします。[プロジェクトの問題] パネルの [チェック] タブで、[チェックの実行] をクリックします。プロジェクトに slprj
フォルダーを追加する場合、プロジェクトのチェックによりこのフォルダーをプロジェクトから削除するよう勧めるメッセージと、修正を促す選択肢とが表示されます。派生ファイルのチェックは、プロジェクトがソース管理下にある場合にのみ有効です。
.mex*
などの派生ファイル、slprj
フォルダー、sccprj
フォルダー、その他のコード生成フォルダーの内容は、問題の原因となる可能性があるため、ソース管理から除外することをお勧めします。以下に例を示します。
ファイルをロックできるソース管理システムを使用する場合、ユーザーは競合に遭遇する可能性があります。
slprj
フォルダーがソース管理下にある場合にコードを生成すると、slprj
フォルダーにあるほとんどのファイルは変更されてロックされます。他のユーザーは、ファイルのアクセス許可エラーのためコードを生成できなくなります。slprj
フォルダーも、コード生成によってシミュレーションに使用されるため、これらのファイルをロックすると、チームに影響が生じる可能性があります。同様の問題は.mex*
などのバイナリ ファイルでも発生します。多くの場合、
slprj
フォルダーを削除する必要があります。ただし、slprj
フォルダーがソース管理ツールの下にある場合、このフォルダーを削除すると “not a working copy“ (作業用コピーではありません) エラーなどの問題が発生する可能性があります。生成されたコードをプロセスのアーティファクトとしてチェックインする場合、一部のファイルを
slprj
キャッシュ フォルダーから出してプロジェクトの一部である別の場所にコピーするのが一般的です。このようにすると、必要に応じて一時的なキャッシュ フォルダーを削除できます。関数packNGo
(MATLAB Coder) を使用して生成されたコード ファイルをリストし、プロジェクト API を使用してそれらのファイルを適切なメタデータとともにプロジェクトに追加します。slprj
フォルダーには、多数の小さなファイルが含まれる場合があります。各ファイルが最新のものであることをチェックするときに、一部のソース管理ツールのパフォーマンスに影響を与える可能性があります。