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は自動生成されますが、必要に応じて編集できます。

ADVERTISEMENT

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

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

まとめ

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


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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