【GAS修行⑪】GASプロジェクトをローカルでの開発に切り替え。

・GAS熟練者への道。
・先人達のコードの「写経＆コピー」の駆使の成果物のまとめ。
・第十一弾
・[第一弾](https://qiita.com/t_o_d/items/a29b4ba6eacad77b3690)・[第二弾](https://qiita.com/t_o_d/items/7dcc5637ab06996c8eaa)・[第三弾](https://qiita.com/t_o_d/items/8763b7e84bafc83caa5c)・[第四弾](https://qiita.com/t_o_d/items/eb03325f37e837de44ea)・[第五弾](https://qiita.com/t_o_d/items/75d9f10d674a096b3ab3)・[第六弾](https://qiita.com/t_o_d/items/2d4b62b8525309fcc0c4)・[第七弾](https://qiita.com/t_o_d/items/b259fd4eb6a03b0dc5b6)・[第八弾](https://qiita.com/t_o_d/items/2c44d7270c83d46351c5)・[第九弾](https://qiita.com/t_o_d/items/c21642f15ddee8f4f5c5)・[第十弾](https://qiita.com/t_o_d/items/2eb25d83dbece7c738e3)はこちら。

## 経緯
・十一回目。
・一旦一区切りにした修行に、何食わぬ顔で戻ってくる無神経ぶり。
・丹精込めて作成したプロジェクトの不整理にようやく気が付く無頓着ぶり。
・「元々ある程度作れるようになってから整理するつもりだった。」と悲痛な言い訳を、四の五の言い続けながら、効率的な整理方法を調査。
→そういうわけで、最適な整理方法を教えてくれる仏サイトを発見。
→https://qiita.com/rf_p/items/7492375ddd684ba734f8
→参考（マルコピ）に取り組み開始。

## 要件
- ローカルの使っているエディタ（Visual Studio Code）で、書く。
- GitHubでバージョン管理したい。

## 作成環境
1. Git
2. GitHubアカウントとリポジトリ
3. Node.js
4. npm
5. clasp
6. Google Apps Scriptプロジェクト

## 手順

### Gitの設定
-  Gitのインストール。  
    - Windowsの場合は、[こちらの記事](https://eng-entrance.com/git-install)を参考にインストール。
    - Macの場合は、[こちらの記事](https://original-game.com/how-to-use-git2/)を参考にインストール。
    - インストール完了後、コマンドプロンプト（ターミナル）で、`git --version`とうち、バージョン確認。

- GitHubアカウントの設定
    - GitHub未登録の場合は、[こちらの記事](https://qiita.com/kooohei/items/361da3c9dbb6e0c7946b)を参考に登録と、リポジトリを作成。  
    ※その際の、ユーザー名とメールアドレス、リポジトリ名とGit接続URL（SSH）をメモしておく。
- 情報の設定
    - 下記を先程メモした情報に変えて、コマンドプロンプト（ターミナル）へ入力して、git情報を設定。

```console
git config --global user.name "GonbeiNaNashi"
git config --global user.email "gonbei.nanashi@mail.com"
```
- 設定後、`git config -l`で確認して完了。

### Node.js・npmの設定
-  Node.jsのインストール。  
    - Windowsの場合は、[こちらの記事](https://qiita.com/maecho/items/ae71da38c88418b806ff)を参考にインストール。
    - Macの場合は、[こちらの記事](https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09)を参考にインストール。
    - インストール完了後、下記を入力して、バージョン確認。

```
node -v
npm -v
```

### claspの設定
-  claspのインストール。  
    - 下記を入力して、claspをインストールする。[公式サイト](https://github.com/google/clasp)参考。

```
npm i @google/clasp -g
```
※うまくいかない場合は、管理者権限(sudo)で、インストールする。

### Google Apps Scriptの設定
- GAS API の設定。
    - [設定ページ](https://script.google.com/home/usersettings)にアクセスして、「Google Apps Script」をオンにする。  
    ※Googleアカウント未作成の場合は、作成する。
    - 変更後、コマンドプロンプト（ターミナル）で、`clasp login`と入力。
    - ブラウザが起動して、「アカウント選択画面」が表示されるので、自分のものを選択。

- プロジェクトの用意
    - 対象プロジェクトを起動する。  
    ※プロジェクト未作成の場合は、[こちらの記事](https://qiita.com/soundTricker/items/cb12c14a937f67632c68)を参考に作成。
    - 例として、ファイル名と、コードを下記にする。  
    ※ファイル名の「/」で自動的にディレクトリに変換。

```javascript:test/test.gs
function myFunction() {
  Logger.log("Hello");
}
```

- プロジェクトのローカルへのコピー
    - 下記を入力して、プロジェクトをローカルへコピーする。  
    ※プロジェクトIDは、プロジェクトURLの「d/プロジェクトID/edit」の部分。  

```
clasp clone プロジェクトID
```

- ローカルに「test」フォルダと「appsscript.json」ができていたら完了。

### GitHub管理設定
- 下記をコマンドプロンプト（ターミナル）に入力して、GitHubリポジトリにプッシュする。

```
cd test
git init
git add -A
git commit -m 'first commit'
git remote add origin GitURL（or SSH）
git push -u origin master
```
※「cd フォルダ名」「git remote add origin Git接続URL（SSH）」を自分のものに変更にするのを忘れない。

## まとめ
・「きちんと整理したし、これで個人開発感を醸しだせる」と、この上ない短絡的発想で満足げ。
・「通信作業をこよなく愛し、なんでもかんでもオンライン作業に傾く私にとって、ローカル開発構築は意味あるのか」という、なんとも哲学的矛盾問いかけを自分に課す。
・「目的は個人開発感の誇示だし、なにより人生は無意味作業が一番楽しい」と、意気揚々に人生観について語る、青二才技術者もどき。

## 参考
- https://qiita.com/rf_p/items/7492375ddd684ba734f8  
→こちらを主に参考（マルコピ）にしました。大変お世話になりました。