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プロジェクトを準備する
- Google Cloud Consoleにアクセスする
ブラウザで https://console.cloud.google.com/ を開き、Apps Scriptで使用しているGoogleアカウントでログインします。 - 新しいプロジェクトを作成する
画面上部のプロジェクト選択ドロップダウンから「新しいプロジェクト」をクリックします。プロジェクト名を任意に入力し、作成をクリックします。 - Apps Script APIを有効にする
作成したプロジェクトを選択し、左上のハンバーガーメニューから「APIとサービス」→「ライブラリ」を選びます。検索バーに「Apps Script API」と入力し、表示されたAPIをクリックして「有効にする」を押します。 - OAuth同意画面を設定する
左メニューから「APIとサービス」→「OAuth同意画面」を選択します。User Typeを「外部」に設定し、必要事項(アプリ名、サポートメールなど)を入力して保存します。スコープは後で追加するため、一旦保存で問題ありません。 - 認証情報を作成する
左メニューから「認証情報」を選び、「認証情報を作成」→「OAuthクライアントID」をクリックします。アプリケーションの種類は「ウェブアプリケーション」を選択し、名前を入力します。承認済みのリダイレクトURIに「https://script.google.com」を追加し、作成をクリックします。発行されたクライアントIDとクライアントシークレットを控えておきます。
ステップ2: Apps ScriptエディタでGit連携を有効にする
- Apps Scriptエディタを開く
Googleスプレッドシートのメニューから「拡張機能」→「Apps Script」をクリックしてエディタを開きます。 - Git連携の設定画面を表示する
エディタ左側のファイル一覧パネルで、プロジェクト名の横にある「その他」メニュー(︙)をクリックし、「Git連携を有効にする」を選択します。 - GitリポジトリのURLを入力する
表示されたダイアログで、使用するGitリポジトリのURL(例: https://github.com/ユーザー名/リポジトリ名.git)を入力します。認証が必要な場合は、ユーザー名とパスワード(またはアクセストークン)を入力します。GitHubの場合は、パスワードの代わりに個人アクセストークンを使用します。 - GCPプロジェクトと連携する
ダイアログ内の「Google Cloud Platformプロジェクトを設定」リンクをクリックし、先ほど作成したGCPプロジェクトIDを入力します。また、認証情報で控えたクライアントIDとクライアントシークレットを入力します。 - Git連携を保存する
すべての情報を入力したら「保存」をクリックします。これで、Apps ScriptエディタとGitリポジトリが紐付きます。
ステップ3: コードをpush/pullする
- 変更をGitにプッシュする
コードを編集した後、エディタの「Git」メニューから「コミット」を選びます。コミットメッセージを入力し、「コミットしてプッシュ」をクリックします。初めての場合は、ブランチ名を指定する必要があります。 - リモートの変更をプルする
他のメンバーがリポジトリにプッシュした変更を取得するには、「Git」メニューから「プル」を選択します。競合が発生した場合は、エディタ上で解決できます。 - バージョン履歴を確認する
「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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
