ソース追跡で識別される変更のプルおよびプッシュ
ソース追跡を使用する場合、変更をプルおよびプッシュしてプルまたはプッシュされるのは、追加、変更、または削除されたソースのみです。
たとえば、force:source:status を実行して、ローカルおよびリモートの変更を確認するとします。
1=== Source Status
2STATE FULL NAME TYPE PROJECT PATH
3───────────── ───────── ───────── ───────────────────────────────────────────────────────────────────────────
4Local Add WidgetClass ApexClass /WidgetClass.cls-meta.xml
5Local Add WidgetClass ApexClass /WidgetClass.cls
6Remote Changed Widget__c CustomObject force-app/main/default/objects/Widget__c/Widget__c.object-meta.xml
7Remote Deleted Widget__c.all ListView force-app/main/default/objects/Widget__c/listViews/All.listView-meta.xml
8Remote Add WidgetPermissions PermissionSetこの場合は、変更をプルし、競合を解決してから、変更を組織にプッシュすることをベストプラクティスとしてお勧めします。この方法を使用すると、他の開発者が変更を容易に取り込むことができ、ほとんどの場合、コラボレーションが促進されます。競合を解決する方法については、「ローカルプロジェクトと組織間の競合の解決」を参照してください。
1sfdx force:source:pull -u DevSandboxソースをプルしたら force:source:status を再度実行します。以上でソース追跡では、ローカルの変更のみが報告されるようになります。これは、プルによってローカルプロジェクトが組織の内容に一致するように更新されたためです。
1=== Source Status
2STATE FULL NAME TYPE PROJECT PATH
3────────── ─────────── ───────── ─────────────────────────────
4Local Add WidgetClass ApexClass /WidgetClass.cls-meta.xml
5Local Add WidgetClass ApexClass /WidgetClass.cls次に、ローカルの変更をプッシュします。プッシュを行った後、他の開発者に組織内の変更がリモートの変更として表示されます。
1sfdx force:source:push -u DevSandboxソース追跡を再度実行します。
1=== Source Status
2No results foundソース追跡で結果が報告されません。これは、ローカルプロジェクトと組織が同期されていることを意味します。