ADVERTISEMENT

【Googleスプレッドシート】Apps Scriptのバージョン管理!Git連携の設定

【Googleスプレッドシート】Apps Scriptのバージョン管理!Git連携の設定
🛡️ 超解決

GoogleスプレッドシートでApps Scriptを活用していると、コードの変更履歴を管理したい場面が増えてきます。特に複数人で開発する場合、誰がいつ何を変更したのかを追跡できず、トラブルの原因になることも少なくありません。この記事では、Apps Scriptに標準搭載されているバージョン管理機能と、外部のGitリポジトリと連携する方法を解説します。設定手順を一つずつ紹介しますので、コード管理の悩みを解消できます。

【要点】Apps Scriptのバージョン管理とGit連携のポイント

  • Apps Scriptのバージョン履歴機能: スクリプトエディタ内で過去のバージョンを保存・復元できるため、変更前のコードに簡単に戻せます。
  • Git連携の有効化: Google Cloud Platformでプロジェクトを設定し、Apps ScriptエディタからGitリポジトリと接続することで、本格的なバージョン管理が可能です。
  • push/pull操作: コードの変更をGitにアップロードしたり、他のメンバーの変更を取得したりする手順を理解することで、チーム開発がスムーズになります。

ADVERTISEMENT

Apps Scriptのバージョン管理機能とGit連携の概要

Apps Scriptには標準で「バージョン履歴」という機能が備わっています。これはスクリプトエディタの「ファイル」メニューからアクセスでき、コードのスナップショットを手動で保存できます。ただし、この機能はシンプルで、変更内容の比較やブランチ管理には対応していません。そこで、より高度な管理を実現するために、Gitとの連携が推奨されます。

Git連携を利用するには、Google Cloud Platform(GCP)プロジェクトとGitリポジトリ(GitHubやCloud Source Repositoriesなど)が必要です。Apps Scriptエディタ上で直接Git操作が行えるため、ターミナルを使わずにバージョン管理を始められます。ただし、Apps ScriptのプロジェクトはGoogle Drive上に保存されているため、Git連携にはいくつかの前提条件があります。まず、Apps ScriptプロジェクトをGCPプロジェクトにリンクする必要があります。次に、Gitリポジトリを用意し、認証情報を設定します。これらの手順を一つずつ見ていきましょう。

Apps ScriptにGit連携を設定する手順

ここでは、Apps ScriptエディタからGitリポジトリ(例としてGitHub)にコードを連携する手順を説明します。大きく分けて、GCPプロジェクトの設定、Apps Scriptエディタ上でのGit連携の有効化、実際のpush/pull操作の3ステップです。

ステップ1: Google Cloud Platformプロジェクトを準備する

  1. Google Cloud Consoleにアクセスする
    ブラウザで https://console.cloud.google.com/ を開き、Apps Scriptで使用しているGoogleアカウントでログインします。
  2. 新しいプロジェクトを作成する
    画面上部のプロジェクト選択ドロップダウンから「新しいプロジェクト」をクリックします。プロジェクト名を任意に入力し、作成をクリックします。
  3. Apps Script APIを有効にする
    作成したプロジェクトを選択し、左上のハンバーガーメニューから「APIとサービス」→「ライブラリ」を選びます。検索バーに「Apps Script API」と入力し、表示されたAPIをクリックして「有効にする」を押します。
  4. OAuth同意画面を設定する
    左メニューから「APIとサービス」→「OAuth同意画面」を選択します。User Typeを「外部」に設定し、必要事項(アプリ名、サポートメールなど)を入力して保存します。スコープは後で追加するため、一旦保存で問題ありません。
  5. 認証情報を作成する
    左メニューから「認証情報」を選び、「認証情報を作成」→「OAuthクライアントID」をクリックします。アプリケーションの種類は「ウェブアプリケーション」を選択し、名前を入力します。承認済みのリダイレクトURIに「https://script.google.com」を追加し、作成をクリックします。発行されたクライアントIDとクライアントシークレットを控えておきます。

ステップ2: Apps ScriptエディタでGit連携を有効にする

  1. Apps Scriptエディタを開く
    Googleスプレッドシートのメニューから「拡張機能」→「Apps Script」をクリックしてエディタを開きます。
  2. Git連携の設定画面を表示する
    エディタ左側のファイル一覧パネルで、プロジェクト名の横にある「その他」メニュー(︙)をクリックし、「Git連携を有効にする」を選択します。
  3. GitリポジトリのURLを入力する
    表示されたダイアログで、使用するGitリポジトリのURL(例: https://github.com/ユーザー名/リポジトリ名.git)を入力します。認証が必要な場合は、ユーザー名とパスワード(またはアクセストークン)を入力します。GitHubの場合は、パスワードの代わりに個人アクセストークンを使用します。
  4. GCPプロジェクトと連携する
    ダイアログ内の「Google Cloud Platformプロジェクトを設定」リンクをクリックし、先ほど作成したGCPプロジェクトIDを入力します。また、認証情報で控えたクライアントIDとクライアントシークレットを入力します。
  5. Git連携を保存する
    すべての情報を入力したら「保存」をクリックします。これで、Apps ScriptエディタとGitリポジトリが紐付きます。

ステップ3: コードをpush/pullする

  1. 変更をGitにプッシュする
    コードを編集した後、エディタの「Git」メニューから「コミット」を選びます。コミットメッセージを入力し、「コミットしてプッシュ」をクリックします。初めての場合は、ブランチ名を指定する必要があります。
  2. リモートの変更をプルする
    他のメンバーがリポジトリにプッシュした変更を取得するには、「Git」メニューから「プル」を選択します。競合が発生した場合は、エディタ上で解決できます。
  3. バージョン履歴を確認する
    「Git」メニューの「履歴」を選ぶと、コミットの一覧が表示されます。各コミットの変更内容を確認したり、特定のコミットに戻すことも可能です。

Git連携設定での注意点とよくある失敗

GitHubの認証でエラーが出る

GitHubでパスワード認証が廃止されたため、2021年8月以降は個人アクセストークン(PAT)を使用する必要があります。Apps ScriptのGit連携設定画面で、パスワード欄にGitHubのアカウントパスワードを入力しても認証エラーになります。正しくは、GitHubのSettings → Developer settings → Personal access tokensでトークンを生成し、そのトークンをパスワードとして入力します。

GCPプロジェクトとApps Scriptがリンクされない

Apps ScriptプロジェクトをGCPプロジェクトにリンクする際、スクリプトエディタの「リソース」→「Google Cloud Platformプロジェクト」から設定する方法もあります。しかし、Git連携設定時に入力するGCPプロジェクトIDは、このリンクとは別のものです。正しくは、Git連携設定ダイアログ内で「Google Cloud Platformプロジェクトを設定」リンクをクリックし、表示されるフォームにプロジェクトIDを入力する必要があります。入力後、さらにクライアントIDとシークレットが必要です。

プッシュしたコードが反映されない

Git連携を有効にした後、最初のプッシュではすべてのファイルがアップロードされますが、2回目以降は変更のあったファイルのみが反映されます。もしコードが反映されない場合は、コミット漏れがないか確認してください。また、.gitignoreファイルがある場合、除外設定が正しいかもチェックします。Apps Scriptの.gitignoreは自動生成されますが、必要に応じて編集できます。

Apps Scriptのバージョン管理機能とGit連携の比較

項目 標準バージョン履歴 Git連携
保存方法 手動で名前をつけて保存 自動または手動のコミット
変更履歴の粒度 スナップショット単位 ファイル単位の差分
ブランチ管理 不可 可能
チームでの共有 スプレッドシートの共有のみ リポジトリ経由で柔軟に共有
外部サービス連携 不要 GitHub、GitLab、Cloud Source Repositoriesなど
設定の複雑さ 簡単 やや複雑(GCP設定が必要)

まとめ

Apps Scriptのバージョン管理は、標準機能だけでも簡易的な履歴管理が可能ですが、本格的な開発にはGit連携が欠かせません。この記事では、Google Cloud Platformの設定からApps ScriptエディタでのGit連携手順、注意点までを詳しく解説しました。特に、GitHubの個人アクセストークンの扱いやGCPプロジェクトの連携方法は重要なポイントです。今後は、ブランチを活用した機能開発や、CI/CDパイプラインとの統合にも挑戦してみてください。コード管理の効率が格段に向上します。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT