分析Code Workbookブランチはじめに

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

はじめに

ますます規模が大きく、複雑になるワークブックを作成するにつれて、新しい課題に直面するかもしれません。

  • ワークブックに新しい変更を加えて実験したいが、既存のロジックを保持し、プロダクションパイプラインを壊さないようにしなければならない。
  • ワークブックで同僚と協力して作業したいが、同時に同じワークブックに変更を加える際に競合を避ける必要がある。

ブランチングは、これらの課題に対する解決策を提供します。このチュートリアルでは、以下の概念を説明します。

ブランチの作成

この例では、タイタニック号の乗客データセットから始まり、いくつかのフィルター処理を適用する短いパイプラインに取り組んでいます。

branching_pipeline

Tip

ブランチとは、ワークブックの作業コピーで、安全に変更を加え、後でマスターバージョンに組み込むことができます。 ブランチングについて詳しくはこちら。

ワークブックの左上にあるブランチメニューをクリックし、新しいブランチの名前を入力し、作成をクリックします。ブランチ名は、行われる変更の種類(例:feature/bugfix/)や、ユーザー名やイニシャル(例:jdoe/jd/)によって一般的に接頭辞が付けられます。

branching_create-branch

feature/filter-logicが作成された後、変換はブランチ作成時のデータとロジックを反映します。masterが変更されても、あなたのブランチ feature/filter-logicは以前と同じように機能します。同様に、feature/filter-logicで行う変更は、masterのロジックやデータの変更に干渉しません。

branching_data-independence

新しいブランチで通常通り変更を加えます。この例では、フィルタリングコードの行のロジックを変更します。

branching_code-changes

マージのプレビュー

Tip

マージとは、ブランチで行った作業のコピーと、マスターコピーの現在の状態を組み合わせたものです。これにより、マスターに戻す前に変更を確認できます。

ブランチでの変更を元のブランチに戻す準備ができたら、右上のマージのプレビューをクリックします。

branching_prepare-merge

これでマージに入ります。この状態では、ロジックを変更したり、変換を実行したりして、導入される変更に満足するまで作業を続けることができます。上部のRun Affectedボタンをクリックすると、このワークブックで影響を受けるすべての変換(ロジックの変更があるものとそれらの下流のもの)を一度に実行できます。

branching_run-affected

マージ中に、サイドバーは、このマージを通じて導入される行数や列の変更を表示します。これにより、編集した変換だけでなく、下流の変換でもブランチが導入した変更がわかりやすくなります。

branching_merge-sidebar

このマージで導入されるロジックの変更を確認するには、変更された変換を選択し、Show Changesをクリックします。これにより、変更されたロジックが表示される分割画面が表示されます。

branching_merge-diff

これはテンプレートにも適用されます。

branching_merge-diff-templates

マージの完了

導入する変更に満足したら、マージブランチをクリックして master ブランチにマージを完了します。次のようなダイアログボックスが表示されます。

branching_merge

最初のトグルでは、マージするブランチからマージ先のブランチにトランザクションをコピーするかどうかを選択できます。ブランチ後、マスターで追加の作業を行い、派生データセットの master ブランチに新しいトランザクションがコミットされたとしましょう。このトグルが True の場合、feature/filter-logic ブランチが作成されてからマスターで作成されたトランザクションは、マージ後のデータセットには表示されなくなります。

2つ目のトグルでは、マージするブランチをデータセットから削除するかどうかを選択できます。これは、ワークブックのブランチ自体を削除することとは異なります。これは、マージで常に行われ、設定できません。2つ目のトグルが True の場合、マージするブランチは、ワークブックで作成された派生データセットから削除されます。

上記のように、マージブランチからのデータを master にコピーしないことにしたとしましょう。マージのマスターにをクリックすると、masterブランチがマージからのロジックで更新されます。

マージ競合の解決

ブランチングをより頻繁に使用し、特に同僚と協力して作業すると、2つの異なるブランチで同じロジックを変更することがあります。このシナリオで何が起こるかを説明しましょう。

マージのプレビューをクリックすると、masterにすでに競合する変更が導入されている場合、マージを続行する前に競合を解決する必要があることを示すプロンプトが表示されます。

branching_merge-conflict

競合している変換をクリックすると、マージ競合ビューが表示されます。コードの場合、インライン競合マーカーを使用して、どのロジックを使用するか選択できます。

branching_conflict-editor

競合がテンプレートに関連している場合、またはブランチのいずれかで変換が削除されている場合、分割画面ビューを使用して競合を解決できます。

branching_conflict-split-screen

競合を解決した後、さらに編集を加えたり、変換を実行してマージされたロジックが期待通りに機能するかどうかを確認できます。準備ができたら、マージを完了をクリックして、通常どおりマージを完了します。