2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASをGithubで管理する

Posted at
導入背景

プライベートでGASを使用した得点計算ツールを開発しているが
ソースコード自体はGAS上で管理しなければならず
プロジェクトで共有するには少々使い勝手が悪く困っていました。

そこで、ソースコードの変更履歴を追跡し
複数の開発者との共同作業に適した分散型バージョン管理システムのGithub
GASのソースコードを運用することにしました。

GitHubの環境構築手順

①. GitHubアカウントの作成

GitHubにアクセス
Sign up ボタンをクリックしてアカウント作成(詳細は割愛)

②. Gitのインストール

gitのGUI操作を行うための準備。
公式サイト からGitをダウンロードし、インストール
ターミナルやコマンドプロンプトを開き、以下のコマンドでGitの設定を行う

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

GASとの連携環境構築手順

Google Apps Scriptのプロジェクトをローカルで管理するために
clasp というCLIツールをインストールします。

clasp を使用するためには、事前にNode.js(および関連するパッケージマネージャーのnpm)をインストールする必要があります。

1. Node.jsのインストール

まず、Node.jsの公式サイトから適切なバージョンをダウンロードしてインストールします。
インストールすると、node と npm(Node.jsのパッケージマネージャー)の両方が利用できるようになります。

2. clasp のインストール

Node.jsをインストールした後、以下のコマンドを使用してclaspをインストールします

npm install -g @google/clasp

このコマンドにより、clasp がグローバルにインストールされ、どのディレクトリからでもアクセスできるようになります。

3. claspにログイン

下記コマンドでgoogle認証を行います。
これでgoogle上の環境とファイルやり取りが可能になります。

clasp login

ローカルとGoogle Apps Scriptとでソースコードをやり取りする手順

①プロジェクトのクローン(複製)

既存のGASプロジェクトが存在する場合、GASのIDを指定して、プロジェクトをローカルにクローンします。

clasp clone [scriptID]

②ローカルからGASへのプッシュ(アップロード)

ローカルの変更をGASプロジェクトにプッシュします。

通常、プッシュはプルリクエスト承認後に管理者が実施します。

clasp push

③GASからローカルへのプル(ダウンロード)

GASのオンラインエディタでの変更をローカルにプルします。

clasp pull

ローカル環境でGithubを運用する手順

①リポジトリのクローン(複製)

リポジトリのURLがわかっている場合、以下のコマンドでローカル環境にクローンできます。

git clone [リポジトリのURL]

②ローカルリポジトリに移動

cd [リポジトリ名]

③ 最新の変更を取得

リポジトリをクローンした後、または既にクローンしている場合、プルを行うことで最新の変更を取得できます。

git pull

④ブランチを作成する

通常、mainブランチ上で作業を行うことはありません。
mainブランチから新しくローカルブランチを作成して作業を行い
最終的にmainブランチへソースファイルのプッシュを行います。

git checkout -b [新しいブランチ名]

実行例

$ git checkout -b "test"
Switched to a new branch 'test'

⑤変更を反映する

git add [変更したファイル名]  # 特定のファイルのみ
# または
git add .  # 全ての変更をステージング

⑥変更をコミットする

git commit -m "[変更内容の説明]"

実行例(test.jsを作成&ステージングした後にコミット)

$ git commit -m "test"
[test cd1a1bf] test
 1 file changed, 3 insertions(+)
 create mode 100644 test.js

⑦変更をリモートリポジトリにプッシュする

git push -u origin [新しいブランチ名]

実行例

$ git push -u origin test
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 552 bytes | 552.00 KiB/s, done.
Total 6 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (3/3), completed with 2 local objects.
remote:
remote: Create a pull request for 'test' on GitHub by visiting:
remote:      https://github.com/rakisuto/GAS_Tools/pull/new/test
remote:
To https://github.com/rakisuto/GAS_Tools
 * [new branch]      test -> test
branch 'test' set up to track 'origin/test'.

⑧mainブランチへのプルリクエストを行う

Githubのwebページ上でプルリクエストを発行する。
Compare & pull requestを実行
image.png
メッセージを入力して create & pull requestを実行
image.png
オーナーはプルリクエストを確認し、問題なければMerge pull requestを実行
image.png
これでmainブランチにtest.jsがマージされました。
image.png

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?