ブランチワークスペースを用いた開発プロセス

ブランチワークスペースは、ソースワークスペースにリンクされたワークスペースです。 これにより、開発者は分離された環境での変更に取り組み、作業が他のワークスペースとどのように関連しているかを理解し、自信を持ってメイン ワークスペースに変更を昇格できます。

ブランチワークスペースとそのソースワークスペース間の関係(リンク)は、ユーザーがブランチアウトを実行する際に確立されます。Fabric開発者にとって、ブランチアウトはソースワークスペース接続ブランチから新しいGitブランチを生成します。 ユーザーは新しく作成されたブランチに接続された新しいワークスペースを作成するか、既存のワークスペースのGitブランチを新しく作成したものに切り替えて使用するかを選択できます。

Note

ブランチアウトと同じ動作を行う自動化フローを設定した場合は、プレビューの Create Workspace Relation API を使ってブランチワークスペースの関係を作成してください。 フローがブランチワークスペースを準備し、Gitブランチを作成し、ワークスペースのGit接続を設定した後にこのAPIを呼び出します。

ブランチワークスペース

分岐ワークスペース関係は、Fabric UI内でいくつかの視覚的表現があります:

  • ワークスペースツリー:ブランチワークスペースの親としてソースワークスペースを表現します

    分岐ワークスペースを含むワークスペースツリー階層のスクリーンショットです。

  • ワークスペースのパンくずリスト: ブランチワークスペースから元のワークスペースへ移動するためのナビゲーション オプション

    ブランチワークスペースのパンくずのスクリーンショット。

  • ソース管理 - 関連するブランチ タブ

    ブランチワークスペース関連ブランチのスクリーンショットです。

分岐操作

既定では、ブランチアウト操作が完了すると、ソース ブランチのすべての項目がターゲット ワークスペースに含まれます。 この動作は、分岐設定時に選択アイテムを 個別 に選択することで変更でき、選択したアイテムのみをターゲットワークスペースに含めることで、コーディング体験の時間短縮が可能です。

Fabric の開発者としてのブランチアウトの流れは次のとおりです。

  1. ソースコントロールのペインで「Branch out」を選択してください。

    ソース管理のブランチ アウト オプションのスクリーンショット。

  2. 新しいワークスペースを作成するか、既存のワークスペースにブランチアウトするかを指定します。 新しいブランチとワークスペースの名前を入力するか、ドロップダウンリストから既存のワークスペースを選択します。 新しいワークスペースに分岐する場合は、「Use branch workspace admin profile(プレビュー)」のオンオフを切り替えられるかもしれません

Note

ブランチワークスペース管理者プロファイル(プレビュー)オプションは、ワークスペース管理者がプロファイルを設定した場合にのみ利用可能です。 既存のブランチワークスペースから分岐した場合、このオプションは親ワークスペースにブランチワークスペース管理者プロファイルが設定されている場合のみ利用可能です。 詳細については、「ブランチ ワークスペースの管理者プロファイルを構成する (プレビュー)」をご覧ください。

分岐開始前に、Fabricはあなたのアイデンティティが操作を完了できるかどうかを確認します。 検証が失敗すると、Fabricはエラーを表示し、操作開始を阻止します。 設定済みの管理者プロファイルを使って継続するか、既存のワークスペースに分岐する必要があるかもしれません。 この早期検証により、通常は失敗する操作を防ぎます。

  1. 分岐ワークスペース内のアイテムの一部だけを扱いたい場合は、 選択アイテムを個別 に確認してください。 選択的分岐を使用して新しいワークスペースを作成すると、次のスクリーンショットが表示されます。

Important

既存のワークスペースに分岐すると、Gitに保存されていないアイテムが削除されることがあります。 続ける前に、残したいアイテムを決めておきましょう。 分岐業務を開始する前に、このリスクを理解していることを必ず確認してください。

項目を個別に選択するスクリーンショット。

  1. Branch out ボタンをクリックしてください(手順5~9は 項目を個別に選択 が選択されている場合にのみ適用されます)

  2. このアクションにより、 ワークスペースの項目を選択するためのダイアログが表示されます。

  3. このワークスペースに必要な項目を選択します。

  4. [ブランチの作成] をクリックします。

    ブランチの作成のスクリーンショット。

  5. 選択的分岐を実行する場合は、項目のすべての依存関係が必要です。 その目的で[ 関連項目の選択 ]ボタンを使用できます。 依存関係の 1 つを選択しない場合は、依存関係エラーのスクリーンショットが表示されます。

    Note

    アイテムを選択し、Fabricがバックグラウンドで依存関係を計算している間に分岐を始めることができます。 しかし、関連するすべてのアイテムが読み込まれる前に進めると、操作が失敗する可能性があります。

  6. ブランチが作成されたら、下部のステータス バー (左下隅) のアイコンを使用して、選択したブランチにいることを確認できます。 選択的ブランチと表示されます。 選択的分岐アイコンのスクリーンショット。

  7. Fabricは新しいブランチワークスペースを作成します。 新しいワークスペースに自動的にアクセスされます。 これには、選択分岐の場合に選択したすべての項目または選択した項目のみが含まれます。

ワークスペースは機能ブランチと同期し、下の図のように作業するための孤立した環境となります。 この新しいブランチワークスペースで作業できるようになりました。 同期には数分かかることがあります。 分岐の詳細については、トラブルシューティングのヒントを参照してください。

コミットのワークフローを示す図。

  1. 変更内容を保存し、機能ブランチにコミットします。
  2. 準備ができたら、"メイン" ブランチに対する PR を作成します。 レビューとマージのプロセスは、そのリポジトリに対してチームが定義した構成に基づいて、関連する Git プロバイダーを通じて行われます。

レビューとマージが完了すると、"メイン" ブランチに対して新しいコミットが作成されます。 このコミットは、開発チームのワークスペース内のコンテンツをマージされた変更内容で更新するように求めるダイアログをユーザーに表示します。

詳細については、分岐制限事項を参照してください。

選択的分岐を使用してワークスペースに項目を追加する方法

Fabric 開発者がブランチアウト操作中に選択されなかった項目を追加する必要がある場合、以下の手順では、ワークスペースに項目を追加する方法について説明します。

  1. 必要な Fabric ワークスペースに移動し、上部にある [ソース管理 ] を選択します。
  2. 右側で、 分岐出力 記号を選択します。
  3. ドロップダウンを使用し、[ 追加項目の選択] を選択します。
  4. このアクションにより、 ワークスペースの項目を選択するためのダイアログが表示されます。 [項目の選択] ダイアログには、以前に選択されていない Git ブランチの項目 のみが 表示されます。
  5. ワークスペースに追加する追加項目を選択します。
  6. 追加をクリックします。 選択した項目が、ソース管理ウィンドウの保留中の更新プログラムに追加されます。
  7. [ すべて更新] をクリックします。 この操作では、Git から更新が実行され、ワークスペースに項目が作成されます。

ブランチを切り替える

ワークスペースが Git ブランチに接続されていて、別のブランチに切り替えたい場合は、切断と再接続を行わずに [ソース管理] パネルから直ちに実行できます。

ブランチを切り替えると、ワークスペースは新しいブランチと同期され、ワークスペース内のすべての項目がオーバーライドされます。 各ブランチに同じ項目の異なるバージョンがある場合は、項目が置き換えられます。

スイッチブランチを実行しても、ブランチワークスペースとその元のワークスペースとの関係(リンク)には影響しません。 ブランチ切り替えは Git 状態の変更です。 したがって、ブランチを切り替えると、ワークスペースのリレーションシップは作成または変更されません。 ワークスペースに既にリレーションシップがある場合、そのワークスペースは保持されます。

既定では、接続されたワークスペースの Git ブランチの切り替え (または新しいブランチのチェックアウト) は、ワークスペース管理者に制限されます。 しかし、ワークスペース管理者はワークスペースごとの設定「 少なくとも貢献者役割を持つユーザーがGitブランチを変更し、 メンバー/貢献者へのブランチ切り替えを可能にする」を有効にできます。 この設定はワークスペースごとに構成され、アクティブな Git 接続が必要です。 完全なアクセス許可マトリックスについては、「 アクセス許可」を参照してください。

Note

ブランチを切り替えるときに、ワークスペースに古いブランチに項目が含まれているが、新しいブランチには含まれていない場合、アイテムは削除されます。 さらに、選択的分岐があるワークスペースでは、切り替え操作を実行すると項目の選択がリセットされ、切り替えたブランチのすべての項目がワークスペースに同期されます。

ブランチを切り替えるには、次の手順に従います。

  1. ソースコントロールペインで「その他のオプション」を選択し、スイッチブランチを選択してください。

    ソース管理で新しいブランチをチェックアウトするオプションのスクリーンショット。

  2. 接続するブランチを指定するか、新しいブランチを作成します。 このブランチには、現在のブランチと同じディレクトリが含まれている必要があります。

  3. ワークスペースアイテムが削除され、復元できない可能性があることを理解するには、チェック ボックスをオンにします。[ブランチの切り替え] を選択します。

    分岐の切り替えのスクリーンショット。

ワークスペースにコミットされていない変更がある場合、ブランチを切り替えることはできません。 [キャンセル] を選んで戻り、変更をコミットしてからブランチを切り替えてください。

既存のワークスペースの状態を維持したまま、現在のワークスペースを新しいブランチに接続するには、[新しいブランチのチェックアウト] を選びます。 新しいブランチのチェックアウトの詳細については、「Git で競合を解決する」を参照してください。

展開計画で対応範囲を広げましょう

アイテムを特定の順序で展開しなければならない場合や、ノートブック、データパイプライン、その他のサポートされたアクションがブランチアウト時に実行されるべき時には、デプロイメントプランを付けます。デプロイメントプランは、Fabricが分岐ワークスペースをどのように埋め込むかを制御します。Gitブランチやワークスペースの作成方法は変更しません。

始める前に、デプロイメントプランを保存し、参照する項目とともに現在のGitブランチにコミットしてください。 ブランチアウト時に選択できるのはGitで利用可能な展開プランのみです。

展開計画を拡張するには:

  1. ブランチ タブがある ソース コントロール ペインで、デプロイメント プランを使用してブランチを作成 を選択してください。

    ソースコントロールメニューのスクリーンショットで、デプロイメント計画がハイライトされている「ブランチアウト」があります。

  2. 新しいブランチとターゲットワークスペースを設定してください。 次へを選択します。

    デプロイメントプランウィザード付きのCreate branchのスクリーンショットと、ブランチとワークスペースの設定。

  3. ブランチアウトウィザードでデプロイメントプランを選択します。 標準的なブランチアウト動作を使うには、「 No deployment plan」を選択してください。

  4. 「 アイテムを個別に選択(プレビュー)」を選択した場合、分岐ワークスペースに含めるアイテムを選択し、計画のアクションに必要なアイテムも選択してください。 プランを添付してもこれらの項目が自動的に選ばれるわけではありません。

  5. 「 枝を作成」を選択します。

    展開計画を選択し、ワークスペース項目がリストされた分岐ウィザードのスクリーンショットです。

Fabricはブランチとワークスペースを作成し、その後展開計画を使いながらターゲットワークスペースを埋めます。 選択された項目、プラン関係、Fabricの系譜、アクションがどのように展開を決定するかについては、「展開計画の仕組み」をご覧ください。

展開計画なしで分岐する場合は従来通り動作します。Fabricは標準的な依存関係処理で選択したアイテムを展開し、展開前や展開後のアクションを実行しません。

分岐の制限事項

  • ブランチワークスペースの管理者プロファイルはプレビュー中です。
  • ブランチ アウトには、アクセス許可テーブル に記載されているアクセス許可が必要です。
  • このアクションには使用可能な容量が必要です。
  • ワークスペース と ブランチの名前付けの制限事項 はすべて新しいワークスペースにブランチ アウトするときに適用されます。
  • 新しいワークスペースでは、Git でサポートされている項目 のみを使用できます。
  • 関連するブランチの一覧には、表示するアクセス許可を持つブランチとワークスペースのみが表示されます。
  • Git 統合 を有効にする必要があります。
  • 分岐すると、新しいブランチが作成され、元のブランチの設定はコピーされません。 新しいワークスペースが組織のポリシーに合致するように、設定や定義を調整してください。
  • Gitからブランチワークスペースを切断すると、そのワークスペースと元のワークスペースとの関係も失われます。
  • 関連するブランチワークスペースを持つGit接続ワークスペースを切断すると、すべてのブランチワークスペースの関係も削除されます。
  • 関連するブランチワークスペースが存在するワークスペースを削除すると、すべてのブランチワークスペースの関係が削除され、ブランチワークスペースは通常のワークスペースになります。
  • 既存のワークスペースに分岐する場合:
    • ターゲット ワークスペースは Git 接続をサポートしている必要があります。
    • ユーザーは、ターゲット ワークスペースの管理者であるか、ターゲット ワークスペースのメンバー/共同作成者であり、 少なくとも共同作成者ロールを持つユーザーに Git ブランチの変更を許可する 設定が有効になっている必要があります。
    • ターゲット ワークスペースには容量が必要です。
    • ワークスペースにテンプレート アプリを含めることはできません。
    • ターゲットのワークスペースには関連するブランチワークスペースは存在できません。
    • 既存のワークスペースに分岐すると、Gitに保存されていないアイテムは失われることがあります。 分岐する前に、保持する必要がある項目をコミットすることをお勧めします。