コードのバージョン管理

このドキュメントでは、Dataform でバージョン管理を使用して開発を追跡する方法を説明します。

Dataform は Git を使用して、リポジトリ内のファイルに加えられた各変更を追跡します。

Dataform リポジトリでは、Git リポジトリを直接操作します。

接続されたリポジトリでは、リポジトリの接続時に構成したリモート リポジトリのトラッキング ブランチを操作します。

Dataform には、開発ワークスペースの変更ステータスに基づいてバージョン管理オプションが表示されます。たとえば、Dataform は、ワークスペースに commit されていないローカル変更がある場合にのみ、commit オプションを表示します。ワークスペース内のファイルがデフォルト ブランチまたはトラッキング ブランチの正確なコピーである場合、Dataform にはワークスペースが最新というステータスが表示されます。

Dataform には、次のバージョン管理オプションが表示されます。

X の変更を commit
ワークスペースまたは選択した変更ファイルのローカル変更の X 番目を commit します。Dataform には、commit されていない変更が表示されます。
デフォルト ブランチに push
commit した変更を default ブランチに push します。このオプションは、ワークスペースに commit されていない変更がない場合、Dataform リポジトリで使用できます。
your-branch-name に push
commit した変更を your-branch-name に push します。 このオプションは、ワークスペースに commit されていない変更がない場合、サードパーティの Git リポジトリに接続されているリポジトリで使用できます。
デフォルト ブランチから pull
デフォルトのブランチからの最近の変更でワークスペースを更新します。 このオプションは、ワークスペースに commit されていないか、push されていない commit された変更がない場合、Dataform リポジトリで使用できます。
your-branch-name から pull
your-branch-name からの最近の変更でワークスペースを更新します。 このオプションは、ワークスペースに commit されていないか、push されていない commit された変更がない場合、サードパーティの Git リポジトリに接続されているリポジトリで使用できます。
前回の commit に戻す
ワークスペース内のファイルを、前回の commit からそれぞれの状態に復元します。

始める前に

  1. リポジトリを作成または選択します。
  2. 省略可: リポジトリをサードパーティの Git リポジトリに接続します
  3. 開発ワークスペースを作成または選択します。

必要なロール

Dataform でバージョン管理の使用に必要な権限を取得するには、ワークスペースでの Dataform 編集者roles/dataform.editor)IAM ロールの付与を管理者に依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

変更を pull

開発ワークスペースがリポジトリと同期していない場合、Dataform には [pull] オプションが表示されます。リポジトリから開発ワークスペースに変更を pull する手順は次のとおりです。

  1. [Dataform] ページでリポジトリを選択します。
  2. [開発ワークスペース] タブで、開発ワークスペースを選択します。
  3. 開発ワークスペース ページで、次の操作を行います。
    1. Dataform リポジトリ内の場合は、[デフォルトのブランチから pull] をクリックします。
    2. サードパーティ Git リポジトリに接続されているリポジトリ内の場合は、[your-branch-name から pull] をクリックします。

変更を commit

開発ワークスペースで変更を加えると、Dataform には [commit] オプションが表示されます。すべてのローカル変更または選択したファイルを commit できます。

[新規 commit] ダイアログで、commit されていない変更が表示されます。

開発ワークスペースからリポジトリに変更を commit する手順は次のとおりです。

  1. [Dataform] ページでリポジトリを選択します。
  2. リポジトリ ページで、開発ワークスペースを選択します。
  3. 開発ワークスペース ページで,commit をクリックします。
  4. [新しい commit] ペインで次の操作を行います。

    1. [commit メッセージを追加] フィールドに、commit の説明を入力します。
    2. commit する変更されたファイルを選択します。

      ファイルを選択しない場合、Dataform はすべてのローカル変更を commit します。変更されたファイルは、ファイルの状態、ファイル名、パスでフィルタできます。

    3. [全ての変更を commit] または [X 変更を commit] をクリックします。

      ボタン名は、commit するファイルの選択によって異なります。

変更を push

変更を commit した後、Dataform には [push] オプションが表示されます。開発ワークスペースからリポジトリに変更を push する手順は次のとおりです。

  1. [Dataform] ページでリポジトリを選択します。
  2. リポジトリ ページで、開発ワークスペースを選択します。
  3. 変更を commit します
  4. 開発ワークスペース ページで、次の操作を行います。
    1. Dataform リポジトリ内の場合は、[デフォルトのブランチに push する] をクリックします。
    2. サードパーティの Git リポジトリに接続されているリポジトリ内の場合は、[your-branch-name に push] をクリックします。

commit されていない変更を元に戻す

commit されていない変更を元に戻すには、次の手順に従います。

  1. [Dataform] ページでリポジトリを選択します。
  2. リポジトリ ページで、開発ワークスペースを選択します。
  3. [ファイル] ペインの上にある [その他] メニューをクリックし、[最後の commit に戻す] を選択します。

マージの競合を解決する

開発ワークスペースのローカルな変更が、リポジトリのデフォルト トラッキング ブランチに加えられた変更と互換性がない場合、マージの競合が発生する可能性があります。マージの競合は通常、複数のユーザーが同じファイルを同時に編集したときに発生します。

通常、別のユーザーが同じブランチに競合する変更を push した後、ブランチから pull すると、マージの競合が発生します。 影響を受けるファイルを編集して、マージの競合を手動で解決する必要があります。

次のコードサンプルは、SQLX ファイルに表示されるマージの競合を示しています。

    <<<<<<< HEAD
    SELECT 1 as CustomerOrders
    =======
    SELECT 1 as Orders
    >>>>>>> refs/heads/main

マージの競合を解決する手順は次のとおりです。

  1. 開発ワークスペースの [ファイル] ペインで、影響を受けるファイルを選択します。
  2. 選択した変更でファイルを編集します。
  3. 変更を commit します
  4. 省略可: 変更を push します

次のステップ