ソース追跡で識別される変更の確認
-
ターミナルウィンドウまたはコマンドウィンドウで、プロジェクトディレクトリに移動します。この例では、ディレクトリの名前は MyProject です。
1cd MyProject -
force:source:status コマンドを実行します。-u パラメータを含めて、ローカルプロジェクトと比較するスクラッチ組織または Sandbox のユーザ名を指定します。この例では、ユーザ名は DevSandbox です。
1sfdx force:source:status -u DevSandbox
CLI にローカルプロジェクトと組織の違いが表示されます。この例では、ローカルプロジェクトに WidgetClass という名前の Apex クラスが追加されています。組織には、ローカルプロジェクトにプルされていない Widget__c という名前のカスタムオブジェクトへの変更が含まれていますが、これはローカルプロジェクトの Widget__c と競合します。この例では、組織で作業しているユーザが Widget__c の All というリストビューを削除し、WidgetPermissions という名前の権限セットが追加されています。ソースを組織にプッシュすると、WidgetClass ApexClass が追加されます。組織からソースをプルすると Widget__c が変更され、Widget__c の All リストビューが削除され、ローカルプロジェクトに WidgetPermissions という権限セットが作成されます。
1=== Source Status
2STATE FULL NAME TYPE PROJECT PATH
3────────── ─────────── ───────── ─────────────────────────────
4Local Add WidgetClass ApexClass ./classes/WidgetClass.cls-meta.xml
5Local Add WidgetClass ApexClass ./classes/WidgetClass.cls
6Remote Changed (Conflict) Widget__c CustomObject ./objects/Widget__c/Widget__c.object-meta.xml
7Remote Deleted Widget__c.all ListView ./objects/Widget__c/listViews/All.listView-meta.xml
8Remote Add WidgetPermissions PermissionSetソース追跡で返される変更情報のテーブルは、STATE、FULL NAME、TYPE、および PROJECT PATH の 4 つの列で構成されています。それぞれの行は 1 つの変更を表しています。
STATE には、変更に関する情報が詳しく示されています。この列を見ると、変更の場所と内容、および競合が発生しているかどうかがわかります。STATE の各種の値の意味を次に示します。
- Local — 変更がローカルプロジェクト内に存在しており、組織へのプッシュを待機しています。
- Remote — 変更が組織内に存在しており、ローカルプロジェクトへのプルを待機しています。
- Add — コンポーネントが作成されました。
- Changed — コンポーネントが編集されました。たとえば、項目が追加または削除されると、カスタムオブジェクトが変更されます。
- Deleted — コンポーネントが削除されました。
- (Conflict) — 通常、Salesforce CLI は、ソースがプッシュまたはプルされると、コンポーネントを自動的に作成、削除、または更新します。この状況の場合、CLI は、自動的に解決できない変更を検出しました。変更をプッシュまたはプルする前に、競合を解決してください。
FULL NAME は、コンポーネントの API 参照名です。
TYPE は、コンポーネントのメタデータ型です。コンポーネントが何であるのか、たとえば Apex クラスであるのか、カスタムオブジェクトであるのかを示します。
PROJECT PATH は、ローカルプロジェクトのコンポーネントの場所です。空白の場合、コンポーネントは、ローカルプロジェクトに存在しません。通常、空白のときは、コンポーネントがローカルプロジェクトではなく組織に存在していることを意味します。
ソース追跡で変更が検出されない場合、force:source:status コマンドは、「No results found (該当する結果がありません)」というステートメントを返します。
1=== Source Status
2No results foundローカルプロジェクトと組織のソースの差を確認すると、ソースをプッシュまたはプルする準備が整います。ソース追跡でプッシュまたはプルされるのは、変更されたソースのみです。