この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ローカルプロジェクトと組織間の競合の解決

ローカルプロジェクトまたは組織内でコンポーネントが競合している場合は、先に進む前に競合を解決することをベストプラクティスとしてお勧めします。手動で競合を解決することも、あるバージョンのコンポーネントを別のバージョンのコンポーネントで上書きすることもできます。変更を上書きするのは、新しいバージョンが、自分が使用したいバージョンであることを確認した場合のみにしてください。

project deploy preview を実行して、ローカルプロジェクトと組織間で競合する変更が見つかったとします。たとえば、次のコマンド出力は、WidgetClass には競合する変更があるが、GizmoClass はリリースの準備が完了していることを示しています。

実際にソースをリリースしようとすると、Salesforce CLI は競合を再度報告し、操作が完了せずに停止します。project retrieve preview を実行したときにも、同様の競合メッセージが表示されます。正常にリリースまたは取得を行うには、競合を解決してから、ローカルプロジェクトと組織のいずれかを解決済みのファイルで上書きします。では、これがどのように機能するかを見てみよう。

競合する変更の上書き

ローカルバージョンが正しいと判断した場合は、リリース時に --ignore-conflicts フラグを付けることで、組織内の競合する変更を上書きします。この例では、WidgetClass のみに競合する変更があるため、先にそのコンポーネントだけをリリースして競合を解消し、その後で競合のないソースをリリースします。

DevSandbox 組織に、ローカルプロジェクトにあったバージョンと同じ WidgetClass が配置されます。project deploy preview を再度実行すると、競合する変更のメッセージは表示されなくなります。

一方、組織内の WidgetClass のバージョンが正しいと判断した場合は、競合を無視して DevSandbox 組織のバージョンを取得し、ローカルコピーを上書きします。

ローカルプロジェクトに、組織にあったバージョンと同じ WidgetClass が配置されます。

すばらしい。これで競合は解決しました。次に、GizmoClass とその他の新しいローカルソースのリリースを完了するために、特別なフラグを付けずに project deploy start を実行します。