コードのバージョン管理を行う

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

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

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

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

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

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

X の変更を commit
ワークスペースまたは選択した変更ファイルのローカル変更の X 番目を commit します。Dataform に commit されていない変更が表示されます。
デフォルト ブランチに push
commit した変更をデフォルトのブランチに 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

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

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

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

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

    1. [Add a commit message] フィールドに、コミットの説明を入力します。
    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 します

次のステップ