プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

Chrome 拡張で、 Google Apps Script をGit管理できるようにする

Google Apps Script の開発だと、ブラウザ上のエディタで作業するのはいいんですが、ソースコード管理が簡単にできないのがちょっと嫌なところです。

と、ずっと思っていたのですが、下記の記事で紹介されているプラグインを使うと、Google Apps Script がGitで管理できるようになるそうです!

こりゃいい! ということで、早速試してみました。

Chrome拡張のインストール

インストール方法は簡単で、Chrome Web Store から Chrome 拡張として、『Google Apps Script GitHub アシスタント』をインストールすれば終わりです。

ちなみに、GitHubのサイトはこちらでした。

github.com

インストール後、Chrome でGASのスクリプトエディタを開くと、メニューが追加されていれば成功です。 詳しい使い方などは、前述の記事などを参照してください。

使ってみた印象

自分で使ってみた印象は、スプレッドシート埋め込みのGASにも対応できている!というのが一番感動でした。 しかも、操作はごく簡単。これであれば、開発に応じて、適宜コミットしていくことが出来そうです。

ただ、何点か注意する点もあるようです。個人的に気になったのは次のような点です。

常に指定したリポジトリ/ブランチの最新版との Pull/Push になる

なので、任意のコミットを反映するのは、一度リポジトリをforkしてからブランチを切って、pullする、などひと工夫必要です。

また、残念ながら現時点ではタグからpullしてくるのもできないので、過去のある時点のコミットを再現したい場合も同様の工夫が必要になります。

個人的には、せめて、タグからのpullできるようになっているとうれしいなと思います。

ファイル名とそこに含まれている同名の関数がある場合、正しくコミットできない

Known Issues としても紹介されています。

特定のスクリプトファイル名の場合、なぜかpushの対象にならない場合があって、気づいたときはあせりました。

私の場合、 Constants.gs というファイルで、内部に

function Constants() {
}

と関数を定義していたら、見事これに該当してコミットできませんでした。 どうも、利用しているサービスの制限のようで、現時点では致し方ないようです。

pullでファイルの追加がある場合に、エラーとなる場合がある

という問題もありました。

どういった場合に再現するのか、まとめ切れていないのですが、スプレッドシートに紐づく形式の場合に起こりました。新規に作成したスプレッドシートで、スクリプトエディタを開いて、何も変更していない状態でリポジトリの内容を pull してこようとすると起きているようでした。

とはいえ、これはGASの開発をするうえで、非常に便利なツールになるので、GAS触る方は一度試す価値あると思います。

その他の方法

ちなみに、GASでソースコードを管理する方法は他にもあるようで、下記記事などにもまとめられていました。

qiita.com

これらも一度試すと面白いかと思います。