macOS MontereyにてGithubの設定

# これは何？

macOS Montereyにgithubの設定を行ったさいの私的メモです。
いつも忘れるのでメモしました。


# brewにてgitのインストール

## Montereyのクリーンインストール後の`git`

Montereyをインストールして、Command line toolsをインストールすると、`/usr/bin/`にgitもインストールされます。
2022.5.21現在で、以下のバージョンでした。

```sh
$ git --version
git version 2.32.1 (Apple Git-133)
```

新しいバージョンの方が良いので、このgitとは別にHomebrewからインストールすることにします。
`brew`からインストールされるバージョンを確認してみると

```sh
$ brew info git
git: stable 2.36.1 (bottled), HEAD
(以下略)
```

でしたので、こちらをインストールします。

```sh
$ brew install git
```

brewでインストールされる先は、`/usr/local/bin`なので、以下のようにaliasにて対応します。

```.zshrc
alias git='/usr/local/bin/git'
```
問題なく設定できていれば、以下のようになります。

```sh
$ which git
git: aliased to /usr/local/bin/git
```




## githubの設定

最近のgithubは、sshで認証を行う必要がありますので、sshに関する設定を行います。

### github向けの初期設定

```sh
$ git config --global user.name "YOUR_NAME"
$ git config --global user.email "YOUR_EMAIL"
$ git config --global core.quotepath false
$ git config --global url."git@github.com:".insteadOf "https://github.com/"
```

### 公開鍵の作成



以下のコマンドを実行すると、のファイル名を聞かれるので`id_rsa_git`としています。
その後、パスフレーズが２度聞かれるので適切に設定します。
（忘れないようにしてください。）

メールアドレスは、ご自身のものをご使用ください。

また、以下の作業を行うディレクトリは`~/.ssh`の中が良いでしょう。


```sh
$ ssh-keygen -t rsa -C "YOUR_EMAIL"
```

成功すると、公開鍵が作成されます。

```sh
$ ssh-keygen -t rsa -C "YOUR_EMAIL"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): id_rsa_git
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_git
Your public key has been saved in id_rsa_git.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx YOUR_EMAIL
The key's randomart image is:
+---[RSA 3072]----+
|XXX              |
|XXX              |
|XXX              |
|XXX              |
|XXXXXXXXX        |
|XXXXXXXX         |
|XXXXXXXXX        |
|XXXXXXXX         |
|XXXXXXXX         |
+----[SHA256]-----+
```

出来上がるファイルは、以下のとおりです。

```sh
$ ls
id_rsa_git id_rsa_git.pub
```

両ファイルとも600でないと、認証の際に`Load key "/Users/ユーザー名/.ssh/id_rsa_git": bad permissions`と叱られます。


### GitHubへ公開鍵を登録


いよいよ先ほど生成された公開鍵をクリップボードにコピーします。

```sh
$ pbcopy < ~/.ssh/id_rsa_git.pub
```

GitHubへログインし、Settingを開きます。

![スクリーンショット 2022-01-03 11.04.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191337/ba4f0f87-96a8-b211-bfbd-21195f4d21b3.png)

以下の画面のSSH and GPG keysを選択し、


![スクリーンショット 2022-01-03 11.08.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191337/8ff44a53-ab8c-6b2e-4951-60b92c4f22fe.png)

New SSH keyをクリックします。

![スクリーンショット 2022-01-03 11.10.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191337/e3d7e583-e4d7-14e7-f9fc-86d9feab8d47.png)

タイトルとKeyを設定します。

タイトルはPCの識別名を、Keyは先ほどクリップボードにコピーした`id_rsa_git.pub`の内容を貼り付けます。
Add SSH keyをクリックすると以下の画面となり、先ほどのSSH key登録のが完了します。

![スクリーンショット 2022-01-03 11.15.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191337/3e6bfba6-d7c6-c142-c786-a0cd35bdd4bc.png)

## 接続の確認

ここで、シェルから接続の確認を行います。

```sh
$ ssh -T ssh.github.com
Hi YourNAME! You've successfully authenticated, but GitHub does not provide shell access.
```

となれば、完了です。


#  OS再インストール時の再設定

OSをクリーンインストールなどした場合は、これらのファイルと`~/.ssh/config`を`~/.ssh`以下にコピーすれば設定終了です。