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

スクラッチ組織へのソースの転送

ソースの変更後、変更されたソースをスクラッチ組織に転送することで、変更を同期できます。

初めてメタデータを組織に転送するとき、パッケージディレクトリとして指定されたフォルダ内のすべてのソースがスクラッチ組織に転送されて初期設定が完了します。この時点で、ファイルシステムではローカルに、スクラッチ組織ではリモートで変更追跡が開始され、どのメタデータが変更されたかが判別されます。たとえば、Apex クラスをスクラッチ組織に転送し、ローカルファイルシステムではなくスクラッチ組織のクラスを変更することを決定したとします。CLI は、どのローカルパッケージディレクトリでクラスが作成されたかを追跡するため、クラスを元のプロジェクトにプルするとき、どこに戻せばよいかを把握しています。

スクラッチ組織のみの場合は、force:source:push を使用できます。ソースを他の組織に同期する場合は、メタデータ API を使用します。

警告

開発時、開発者は Salesforce が提供するビルダーやエディタを使用して直接ファイルシステムのファイルをローカルに変更したり、スクラッチ組織を変更したりします。通常、これらの変更は競合せず、固有のファイルが対象となります。

push コマンドではマージは処理されません。プロジェクトとスクラッチ組織は、1 人の開発者が使用するためのものです。したがって、ファイルの競合やマージの必要性は想定されていません。ただし、push コマンドが競合を検出すると、操作は終了され、競合情報がターミナルに表示されます。push コマンドを再実行し、強制的にプロジェクトの変更をスクラッチ組織に転送できます。

push コマンドを実行する前に、force:source:status を使用してローカルファイルシステムとスクラッチ組織間で発生した新規追加、変更、競合のリストを取得できます。これにより、保持するバージョンを事前に選択し、手動で競合に対処できます。

スクラッチ組織へのソースの転送

変更されたソースをデフォルトのスクラッチ組織に転送するには、次のコマンドを実行します。

変更されたソースをデフォルト以外のスクラッチ組織に転送する場合は、ユーザ名または別名で指定できます。

組織の別名は、force:alias:set を使用して作成できます。force:org:list を実行して、自分が作成したすべてのスクラッチのユーザ名を表示できます。

ヒント

転送時に無視するファイルの選択

プロジェクトとスクラッチ組織の間で同期しないファイルがある場合があります。.forceignore で指定したファイルを push コマンドで無視することができます。

push で警告が検出された場合

force:source:push を実行し、警告が発生した場合、CLI はソースを転送しません。警告は、プロジェクトのソースが古いバージョンを使用している場合などに発生することがあります。こうした警告を無視してソースをスクラッチ組織に転送する場合は、次のコマンドを実行します。

このオプションを使用して正常に転送できますが、ソースファイルの問題に対処することをお勧めします。たとえば、Visualforce ページが古いバージョンを使用しているために警告が表示される場合、ページを Visualforce の最新バージョンに更新することを検討してください。これにより、新機能を利用でき、パフォーマンスが向上する可能性があります。

ヒント

push でファイル競合が検出された場合

force:source:push を実行し、競合が検出された場合、CLI はソースを転送しません。

上記には競合があります。CoolClass はスクラッチ組織には存在しますが、ローカルファイルシステムには存在しません。この新しい開発パラダイムでは、ローカルプロジェクトが信頼できる情報源になります。スクラッチ組織の競合を上書きすることが妥当か検討します。

競合が検出され、上書きする場合、次のように force (上書き) 機能を使用してソースをスクラッチ組織に転送します。

転送でソース内のユーザ名参照が検出された場合

一部のメタデータ型のソースにはユーザ名が含まれます。force:source:push を実行してこのソースをスクラッチ組織に転送すると、push コマンドによってユーザ名がスクラッチ組織の管理者ユーザ名に置き換えられます。この���作により、スクラッチ組織に元のユーザ名が含まれていなくても転送が成功します。

たとえば、スクラッチ組織を作成し、Lightning Experience を使用してレポートフォルダを作成したとします。次に、レポートを作成して新しいフォルダに保存します。force:source:pull を実行してスクラッチ組織からプロジェクトにソースを取り込みます。新しい ReportFolder の *.reportFolder-meta.xml ソースファイルは、次の例に似ています。ユーザ名 test-ymmlqf5@example.com が含まれる <sharedTo> 要素に注意してください。

次に、別のスクラッチ組織を作成し、システム管理者のユーザ名を test-zuwlxy321@example.com にします。ReportFolder のソースファイルを新しいスクラッチ組織に転送すると、force:source:push によってユーザ名 test-ymmlqf5@example.comtest-zuwlxy321@example.com に置き換えられます。

この動作は、force:source:push とスクラッチ組織にのみ適用されます。たとえば、force:mdapi:deploy を使用してメタデータを通常の本番組織にリリースする場合、リリースではソースで参照されるユーザ名を使用します。

次のステップは、以下のとおりです。

  • ソースが正常にスクラッチ組織にアップロードされたことを確認し、ブラウザで組織を開きます。
  • サンプルテストデータを追加します。