🍣

Mac で Git & GitHub 環境の構築 / 再構築

2024/05/11に公開

はじめに

Mac 購入時など Git & GitHub 環境の再構築についてまとめます。

Git のバージョンを確認

Git は Mac にデフォルトでインストールされています。ターミナルでバージョンを確認します。

$ git --version

git version 2.39.3 (Apple Git-146)

Git に利用者情報を登録

Git に利用者情報を登録します。「ユーザー名」と「メールアドレス」を登録します。

$ git config --global user.name "yourname"
$ git config --global user.email "your_email@example.com"

反映された設定内容は ~/.gitconfig で確認できます。

$ cat ~/.gitconfig

     1  [user]
     2          name = yourname
     3          email = your_email@example.com

SSH 鍵を作成

Ed25519 というデジタル署名アルゴリズムを利用し秘密鍵(id_ed25519)と公開鍵(id_ed25519.pub)を作成します。

$ ssh-keygen -t ed25519 -C "your_email@example.com"

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/yourname/.ssh/id_ed25519): <入力せずにEnter>
Enter passphrase (empty for no passphrase): <パスフレーズを入力>
Enter same passphrase again: <パスフレーズを入力>
Your identification has been saved in /Users/yourname/.ssh/id_ed25519
Your public key has been saved in /Users/yourname/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX your_email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|      ..+   =+E. |
|     +   + .. .  |
|    = % . o.     |
|   o   B    .    |
|  =   B S    .   |
| = .   B B  .    |
|. + . + * o.     |
| . .   o .o.     |
|        .oo      |
+----[SHA256]-----+
$ ls -l ~/.ssh

total 16
drwxr-xr-x   4 yourname  staff   128  5 10 22:38 ./
drwxr-x---+ 42 yourname  staff  1344  5 10 22:28 ../
-rw-------@  1 yourname  staff   464  5 10 22:38 id_ed25519
-rw-r--r--@  1 yourname  staff   103  5 10 22:38 id_ed25519.pub

ちなみに Ed25519 とはデジタル署名アルゴリズムですが、SSH の鍵認証で最も広く使われているのは RSA 暗号す。しかし、最近では、より安全面と性能面でよい「Ed25519」というアルゴリズムが使われています。詳しくはこちらを参照ください。

https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム#Ed25519

GitHubアカウントの準備

GitHub を利用するためにアカウントを作成します。アカウントが無い場合はこちらから作成してください。

https://github.com/

GitHubに公開鍵を登録

pbcopy は便利コマンドで、利用すると Mac のクリップボードにターミナルの出力をコピーしてくれます。pbcopy を実行し公開鍵の情報をコピーします。

$ pbcopy < ~/.ssh/id_ed25519.pub

GitHub のサイトより公開鍵の登録画面を開きます。

  • Title は任意の名称を記入します。
  • Key には先程コピーした公開鍵をペーストします。

https://github.com/settings/ssh/new

alt text

SSH接続の設定を追加

~/.ssh/config に SSH 接続の設定を追加します。

  • Host は任意の名前を指定します。
  • HostName は接続先の IP アドレスまたはホスト名を指定します。
  • IdentityFile は秘密鍵のパスを指定します。
  • User は接続先のユーザー名を指定します。
$ vi ~/.ssh/config
~/.ssh/config
Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_ed25519
  User git

Keychainに秘密鍵を追加

Mac ユーザーの場合、こちらのコマンドで秘密鍵を Keychain に追加することで、パスフレーズを毎回入力する必要がなくなります。

$ ssh-add --apple-use-keychain ~/.ssh/id_ed25519

SSH 接続確認

SSH 接続を確認します。

$ ssh -T github.com

The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.

上記のメッセージにこちらがあれば完了です。

Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.

作業コードを作成

GitHub にアップロードするプロジェクトを作成します。

$ mkdir test-20240505
$ cd test-20240505
$ touch README
$ git init
$ git add .
$ git commit -m "add README"

GitHub リポジトリ作成

リポジトリを作成します。

alt text


「HTTPS」ではなく「SSH」をクリックします。すると https://github.com/yourname/test-20240505.gitgit@github.com:yourname/test-20240505.git に変わります。

alt text

GitHub リポジトリにプッシュ

リポジトリをプッシュできれば成功です。

$ git remote add origin git@github.com:yourname/test-20240505.git
$ git branch -M main
$ git push -u origin main

GitのEditorをVSCodeに変更

こちらの記事に記載した通り git commit で起動するエディターとして VSCode を起動します。

https://zenn.dev/yourname/articles/827538e3c01803

$ git config --global core.editor 'code --wait'

設定内容は ~/.gitconfig で確認できます。

$ cat ~/.gitconfig

[user]
        name = yourname
        email = your_email@example.com
[core]
        editor = code --wait

さいごに

以上で Mac での Git & GitHub 環境の構築 / 再構築は完了です。

Discussion