Onshape は、ドキュメントバージョンまたはワークスペース (ソース) からの変更を現在アクティブなドキュメントワークスペース (ターゲット) にマージするメカニズムを提供します。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
選択したソース (ワークスペースまたはバージョン) を現在アクティブなターゲット (ワークスペース) にマージする場合、(1) ターゲットからのすべての変更をソースに置き換える、(2) ソースからすべての変更をターゲットにマージする、または (3) ターゲットのすべての変更を保持できます。さらに、これと同じ 3 つのマージ方法を使用して、ワークスペース内の個々のタブをマージする方法を指定できます。
タブ内で個々の変更を選択することはできません。各タブのすべての変更を保持、マージ、または置き換える必要があります。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
![Video example icon](Resources/Images/icons/help-video@2x.png)
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
Onshape’s branching feature enables the creation of new workspaces for design experimentation without impacting other workspaces. Changes can be easily copied from one branch to another using Merge.
This document has two workspaces: the original design in the Main workspace and another workspace named Square Base. The team wants to move forward with the Square Base. With the Main workspace active, right-click on the Square Base workspace and select Merge into current workspace.
The Merge dialog is sorted into two sections: tabs with changes and tabs without changes. At the top, you can select an overall merge strategy for changes. Below the Keep and Replace options, there is a link to Compare with base. This compares that branch with the state the document was in at the branch point.
Keep retains the target workspace tab, leaving it in its current condition. This means no changes are made to that tab on the Main branch during this merge.
Merge combines changes from both branches. This option is only available for Part Studios and assemblies, and only if both branches contain changes for a specific tab. It is not available for drawings or other tab types. In Part Studios, changes include creating, modifying, or deleting features, configuration inputs, materials, or appearances. In assemblies, changes include modifying, adding, or removing components, mate connectors, or configurations. It is important to use this option carefully, as changes from different branches can be incompatible, causing errors.
Replace updates the target with the source. If any changes exist in the target branch, they are completely overwritten. Next to each changed tab, you can override the overall strategy with one specific to the tab. Any tab with a differing merge strategy is indicated with yellow.
Choose the overall merge strategy of Replace. This replaces the original base with the square one in the Main branch. Click the Show or Hide merges icon to toggle the visibility of merge lines.
When activated, the graph depicts each merge operation visually. Merge lines connect each merge from its source to its target, clearly showing how changes are combined and propagated throughout the document’s history. If the changes to the design are unexpected or not desired, you can always undo the merge by restoring the workspace to the last action before the merge.
This example showed a merge between two workspaces, but you can also merge a version from another branch into the current workspace using the same process.
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
-
[バージョンと履歴] パネルを開きます。
-
現在アクティブなワークスペースは濃い青で強調表示されます (下の画像では Target; Main と呼ばれています)。別のワークスペースまたはバージョン (下の画像のソース、B1) をターゲットにマージするには、ソースを右クリックして [現在のワークスペースにマージ] を選択します。
-
マージダイアログが開き、ソースブランチとターゲットブランチを分岐してから加えた変更が表示されます。
-
オプションで、[全体的なマージ戦略] を選択します。
-
[ターゲット] を保持する - ターゲットの変更は保持されます。
-
変更をマージ - これが既定です。ソースとターゲットの両方の変更がマージされます。
変更をマージする場合、マージのベースは、ブランチが分岐したときの変更 (たとえば、ブランチを作成したバージョン) か、存在する場合は、以前に同じソースブランチをこのターゲットにマージした最後のポイント (マージを復元しなかった場合) のいずれかになります。
-
[ソース] に置き換える - ソースの変更はターゲットの変更を置き換えます。
-
-
オプションで、各タブのマージ戦略を選択して、[全体] マージ戦略を上書きします。マージ戦略オプションは、タブが作成または削除される場合や、[両方から変更をマージ] オプションをサポートしていないタブタイプの場合を除き、[全体的なマージ戦略] と同じです (最初のヒントを参照)。このような場合、(1) [[ターゲット] を保持する] か、(2) [[ソース] に置き換える] のみ選択できます。
-
緑色のチェックマークアイコン
が付いた変更は、そのワークスペースのタブに対する編集が、マージ後もターゲットワークスペースに保持されることを示します。
-
赤い x アイコン
の付いた変更は、ワークスペースタブで破棄した編集 (削除したフィーチャーなど) がマージ後もターゲットワークスペースに保持されることを示します。
-
感嘆符アイコン
が付いた変更は、マージ後にタブがターゲットワークスペースに存在しないことを示します。
-
情報アイコン
は、このタブタイプでは、個別のブランチ (図面など) からの変更をマージできないことを示します。ターゲット ([ターゲット] を保持する) またはソース ([ソース] に置き換える) のいずれかを選択する必要があります。別のブランチからの変更をマージできないタブ を参照してください。
-
-
[マージ] をクリックします。バージョンと履歴グラフのマージ線は、ブランチ B1 がメインブランチにマージされたことを示しています。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
マージ操作を元に戻すには:
-
[バージョンと履歴] パネルを開き、マージ線が表示されていることを確認します。
-
マージ前の接線ブランチの最終の変更を右クリックし、[接線に復元] をクリックします。以下の例では、V1 を右クリックし、[メインに復元] をクリックします。
-
この復元後、ターゲットワークスペースのすべてのタブは、マージ前とまったく同じようにリセットされます。今後のマージビューは、マージが行われなかったかのように変更されます。バージョンと履歴グラフに復元ポイントを表示するには、ターゲットブランチの下の [変更を表示] リンクをクリックします。
詳細については、ドキュメント管理を参照してください。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
すべてのマージはバージョンと履歴グラフに明示的に表示され、ドキュメントに変更が加えられると自動的に更新されます。
マージ線の表示と非表示バージョンと履歴グラフを見やすくするには、必要に応じて [マージの表示/非表示] ボタンや [自動バージョンの表示/非表示] ボタンを切り替えます。
マージ線と自動バージョンを表示したバージョンと履歴グラフ (上図)。
マージを非表示にしたバージョンと履歴グラフ (上)。
自動バージョンを非表示にしたバージョンと履歴グラフ (上図)
マージ線の例以下の例は、複数のブランチを含む複雑なバージョンと履歴グラフを示しています。各ブランチはメインワークスペースから作成され、各ブランチで個別の作業が行われました。各ブランチの作業が完了すると、ブランチはメインに統合されました。メインブランチに出入りする線の流れにはマージのワークフローが示され、どの変更がいつマージされたかが簡単にわかります。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
マージするタブを選択すると、[両方から変更をマージ] オプションは、[Part Studio]、[アセンブリ]、および [Feature Studio] タブタイプのみで使用できます。他のすべてのタブタイプ ([図面]、[Render Studio] など) では、[ターゲット] ([ターゲット] を保持する) または [ソース] ([ソース] に置き換える) タブのみ選択できます。一方を選択すると、もう一方の変更が上書きされます。
このため、Part Studio、Assembly、または Feature Studio 以外のタブで作業する場合は、1 つのワークスペース (ブランチ) で作業し、そのブランチから他のブランチにマージすることをお勧めします。複数のブランチで同時に他のタブタイプで作業すると、あるブランチから別のブランチにマージしたときに変更内容が失われる可能性があります。
例:
-
メイン (ターゲット) ソースに図面 (図面 1) を作成し、パーツを挿入します。
-
バージョン (V1) を作成してから、このバージョン (B1; ソース) からブランチを作成します。
-
B1 ワークスペースで、[図面 1] タブの同じパーツの片側に寸法を追加します。
-
メインワークスペースで、同じ [図面 1] タブの同じパーツの別の側に寸法を追加します。
-
B1 (ソース) ワークスペースからメイン (ターゲット) ワークスペースに変更をマージします。
-
マージダイアログで、[図面 1] タブの [タブマージ戦略] を選択すると、次のいずれかを選択するように求められます。
-
メインを保持する - メインワークスペースから [図面 1] タブが保持されます。メインワークスペースに追加された寸法は保持され、B1 に追加された寸法は上書きされます。
-
B1 に置き換える - これにより、メインワークスペースの [図面 1] タブが B1 ワークスペースの [図面 1] タブに置き換えられます。メインワークスペースに追加されたディメンションは上書きされ、B1 で追加されたディメンションに置き換えられます。
上記のどちらのシナリオでも、一方の寸法は保持され、もう一方は上書きされます。このような状況を回避するには、[図面 1] タブのすべての作業を 1 つのワークスペース ([メイン] など) のみで行います。次に、B1 をメインにマージするときに [メインを保持する] を選択します。この方法では、[図面 1] タブのすべての変更が保持されます。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
ターゲットブランチとソースブランチが同じで、すべてのタブが [保持] マージ戦略を使用している場合、更新は不要です。[マージ] ボタンは使用できなくなります。
- ターゲットブランチをソースブランチに置き換えるには、タブマージ戦略を [置き換え] に変更します。
-
[マージ] をクリックします。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
When working with protected branches, the working branch must be kept up-to-date with the protected branch before a merge can occur. If the Merge button in the Merge dialog is disabled and you see the Workspace protections are enabled warning:
- Close the Merge dialog to return to the document.
- Select the working branch in the Versions and history graph.
- With the working branch selected, right-click the protected branch and select Merge into current workspace from the context menu.
- In the Merge dialog, confirm that you are merging the protected branch into the working branch, then click Merge. The working branch is updated with the changes from the protected branch.
- In the Versions and history graph, select the protected branch.
- With the protected branch selected, right-click the working branch and select Merge into current workspace.
- You should now be able to merge your changes into the protected branch.
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
FeatureScript のバージョンが古いブランチはマージできません。1 つ以上のブランチで古いバージョンの FeatureScript を使用している場合、マージダイアログにこのバージョンの不一致に関する警告メッセージが表示されます。
-
[FeatureScript の更新] アイコン
をクリックして、ターゲットブランチとソースブランチの両方の FeatureScript バージョンを最新の状態に更新します。
- 開いたウィンドウで [今すぐ更新] をクリックして更新を完了します。
- [マージ] をクリックします。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
ドキュメントが使用中の場合、ブランチはマージできません。別のユーザーがドキュメントを開いている場合や、ドキュメントを複数のブラウザウィンドウまたはタブで開いている場合は、ユーザー数と開いているインスタンス数を一覧表示するエラーが表示されます。
- 自分と他のユーザーがドキュメントを閉じたことを確認してください。
- ダイアログが自動的に更新され、[今すぐ更新] をクリックできるようになります。
- Onshape でドキュメントが使用されていないこと (ネットワーク接続の問題など) を確認できない場合は、以下のような警告が表示されます。
- ダイアログで [再試行] アイコン
をクリックして、もう一度検証を試みます。
- Onshape でドキュメントが使用されていないこと (ネットワーク接続の問題など) を確認できない場合は、以下のような警告が表示されます。
- [マージ] をクリックします。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
引き続き更新中の間は、マージを完了できません。現在の更新が完了したら、後でもう一度お試しください。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
-
マージは元に戻すアイコン
を使用しても元に戻せないため、マージを実行するとメッセージが開き、クリックしてマージを元に戻せるリンクが表示されます。このメッセージは、タブやワークスペースを切り替えたり、ワークスペースを比較したりしても表示され続けるため、マージの結果を確認できます。
閉じるアイコンを押してマージを承認し、メッセージを終了します。
ドキュメントをマージした後、そのドキュメントにあなたや別のユーザーが変更を加えて、マージを元に戻すと、その変更は失われます。
-
ソースとターゲットの間にマージが必要な変更がない場合、マージダイアログには、(1) [[ターゲット] を保持する] と (2) [[ソース] に置き換える] のみ表示されます。既定の選択は [[ソース] に置き換える] です。
-
マージダイアログの [底と比較する] リンクをクリックして、ソースとターゲットの両方を比較する新しいブラウザタブを開きます。詳細については、比較を参照してください。
-
現在のワークスペースで何も変更せずに 1 つまたは複数のタブの変更をマージするには、全体的なマージ戦略で [[ターゲット] を保持する] を選択し、仕様に応じて [[ソース] に置き換える] または [両方から変更をマージ] (各タブ) を選択します。
-
マージダイアログのタブは、上部に変更があるタブと、下部に変更がないタブの順に並べられます。各セクションは、タブバーの左から右の位置に従って上から下に並べられ、ターゲットブランチが最初、ソースブランチが 2 番目になります。フォルダは表示されません。
![閉じた](../Skins/Default/Stylesheets/Images/transparent.gif)
選択したソース (ワークスペースまたはバージョン) を現在アクティブなターゲット (ワークスペース) にマージすると、ソースで行ったすべての変更が、追加フィーチャーやタブなどを含め、ターゲットにマージされます。
手順
-
[バージョンと履歴] アイコン
をタップしてパネルを開きます。
-
バージョンと履歴パネルでターゲットブランチ (マージ先のブランチ) を選択します。
- ターゲットブランチを選択したまま、ソースブランチ (マージするブランチ) の右側にある 3 点ドットメニューをタップし、[現在のワークスペースにマージ] をタップします。
ソースで行ったすべての変更は、現在アクティブなワークスペース (ターゲット) にマージされます。このアクションは [バージョンと履歴] パネルのエントリに記録され、必要に応じて、以前の記録から復元してマージアクションを元に戻すことができます。バージョンの復元の詳細については、「ドキュメント管理」を参照してください。
Part Studios、または [アセンブリ] 以外の図面、イメージ、PDF、その他のタブを含むワークスペースをマージする際に、かつソースブランチとターゲットブランチの両方のタブに変更が加えられた場合は、[ソース] ブランチでの変更によって[ターゲット] ブランチでの変更を上書きできます。たとえば、両方のブランチ (ソースとターゲット) の PDF タブを更新し、マージすると、マージ後にソースブランチの PDF はターゲットブランチになります。
ヒント
図面を含むワークスペースをマージする場合 ([図面] タブのように)、変更のある図面はマージを行う間に優先され、[ソース] および [ターゲット] ブランチの両方で図面が変更された場合は、ソース図面が優先されます。具体的には、以下のようになります。
- ソース内の図面に、ターゲット内の図面にない変更がある場合、ソース内の図面がターゲットにコピーされ、ターゲット内の図面が置き換えられます。ソースにないターゲット内の図面に加えられた変更は、すべて上書きされます。
- ソースワークスペースの図面に (ターゲット内の図面と比較して) 変更がない場合、ターゲット内の図面は変更されません。
まずは1 つのワークスペース (ブランチ) の図面で作業し、そのブランチから別のブランチにマージすることをお勧めします。複数のブランチで同時に図面で作業すると、あるブランチから別のブランチに図面を結合すると、変更が失われることがあります。