導入はこちらで書いてます。
⇒【GAS】claspでソース管理できるようにする
login
$ clasp login
clone
$ clasp clone [スクリプトID]
スクリプトIDは
- GASプロジェクトのトップ画面のURLにあるID部分
- トリガー画面のURLにあるID部分
が該当します。(どちらも同じID)
GASコードでスプレッドシートをSpreadsheetApp.openById()で参照するときのIDと同じ感覚です。
これができたら対象プロジェクトのGASコードとというファイルができあがっているかと思います。
.clasp.jsonについて
これがclaspのキモになる部分のようです。
{"scriptId":"スクリプトID"}
このスクリプトIDを使って、claspはpull/push先を振り分けられる仕組みになっているようです。
pull
.clasp.jsonファイルのあるディレクトリで下記を実行すると、その.clasp.jsonで指定しているコードをpullできます。
$ clasp pull
push
考え方はpullと同じ。
$ clasp push
ただはじめて実行する際に、以下のようなエラーが出ることがあります。
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
これは設定の問題なので、書いてある通り記載のURLにブラウザでアクセスして"Google Apps Script API"をONすればいけます。
logout
$ clasp logout
gitとの連携について
私はとりあえず以下のような感じでgit連携しようと思ってます。
─Git_Management_Dir
├ .git
├ README.md
├ Script_1
├ .clasp.json
└ sourceCode
└ Script_2
├ .clasp.json
└ sourceCode
Script_1にScript_2のコードが表示されるというようなことはありませんでした。
対応する.clasp.jsonがそれぞれにあれば変に干渉することは無さそうです。
っていうかgit管理するならコードに日本語とか入れなきゃ良かったと今更後悔……