User Manual

マージとコンフリクトの解決

マージは、2つのブランチで行われた作業を組み合わせるプロセスです。マージは、ブランチのドキュメントで説明されているブランチベースのワークフローの自然な部分です。

2つのブランチのマージ

PlayCanvasでは、マージは2つの異なるブランチから2つのチェックポイントを取得して、最後に共有された祖先のチェックポイント以降に発生した変更を計算し、これらの変更を一緒に結合(競合する変更を解決するために時に助けを求める)し、最後に、2つのチェックポイントのマージ結果を含む新しいチェックポイントを作成します。

まず、PlayCanvasでマージを実行すると、実際に2つのブランチをマージしているわけではなく、実際には2つのチェックポイントをマージしていることに注意してください。これは、2つのブランチのうち1つに更新がある場合があるためです。マージ先のブランチの場合、PlayCanvasは最新の変更が失われないように、自動的にチェックポイントを作成します。

マージの例

マージ時のチェックポイント 変更YおよびZがマージ結果Cに含まれておらず、*失われます。 *

マージ時のチェックポイント デフォルトでは、PlayCanvasはマージ先のブランチに新しいチェックポイントを作成するため、変更Yが含まれます。

マージ時のチェックポイント 変更Zが必要な場合は、マージを開始する前にソースブランチでチェックポイントを作成します。

マージの開始

Start merge

マージを開始するには、現在のブランチをマージしたいブランチに切り替えます。次に、マージしたいブランチを選択して、ブランチのドロップダウンメニューから「現在のブランチにマージ」を選択します。

Merge dialog

マージを開始する前にいくつかのオプションがあります。

「マージ元」ブランチでは、次のことができます。

「マージ先」ブランチでは、次のことができます。

自動マージ

2つのチェックポイントをマージする場合、PlayCanvasは互いに競合しない変更を自動的にマージしようとします。多くの場合、2つのブランチを完全に自動的にマージできます。自動マージでは、マージが完了すると、エディタが現在のブランチにマージされた変更で再読み込みされます。

コンフリクトの解決

2つのブランチに競合する変更がある場合、これらの変更を自動的にマージすることはできません。競合する変更の例は、両方のブランチで同じエンティティの位置を変更した場合です。2つの最終的な位置の間でシステムが選択することはできません。

2つのブランチで1つ以上の競合が存在する場合、エディタはコンフリクトマネージャーを表示し、マージが完了する前に各競合を解決する必要があります。

コンフリクトマネージャー

Conflict Manager

コンフリクトマネージャーには、左側に競合する各リソースが表示され、選択された各リソースについて、オリジナルバージョン(Base)と各ブランチのバージョンの比較が表示されます。競合した各プロパティについて、受け入れるバージョンを選択できます。すべてのリソースのすべてのプロパティが解決されたら、「マージを完了」ボタンをクリックして、マージを終了し、新しいチェックポイントを作成します。

Resolved Conflicts

コンフリクトマネージャーとマージが進行中の間、現在のブランチは他のユーザーからのさらなる編集をロックします。これにより、競合の解決が完了するときにマージによって変更が上書きされるのを防ぎます。別のユーザーがマージに必要なブランチをブロックしている場合、エディタから彼らのマージを強制的に終了することができます。

This site is translated by the community. If you want to get involved visit this page