はじめに
仕事用のアカウントと趣味用のアカウントなどで GitHubのアカウントを使い分けて開発 したいことはありませんか?
私が実際にGitHubのアカウントを使い分ける際に行った手順を書きます。ぜひご活用ください。
※Windows 11でのやり方です。
概要
GitHubとの通信を、趣味用をHTTPS・仕事用をSSHのようにすることで、アカウントを分けて管理します。
この記事では、既に使用している既存アカウント(趣味用など)はHTTPS接続のまま維持し、新たに追加するアカウント(仕事用など)をSSH接続で設定する方法を説明します。こうすることで、リポジトリごとに使用するアカウントを使い分けることができます。
手順(大雑把)
- SSH鍵を作成
- GitHubに公開鍵を登録
-
~/.ssh/configにgithub.comを登録 - リポジトリをクローン
- gitの接続先をSSHに設定
具体的な手順
① SSH鍵を作成
-
PowerShellなどで以下を実行します。
PowerShellssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_github -C "GitHub用の鍵"-
-tは、生成する鍵の種類を設定します -
-fは、生成する鍵のパスを指定します。任意の名前を設定 します -
-Cは、鍵にコメントを付与できます。不要でしたら削除しても大丈夫です
Command Promptでは
~が使えないので相対パスなどで指定してください -
-
エクスプローラーなどから
C:\Users\ユーザー名\.sshにアクセスし、先ほど作成した鍵の公開鍵をメモ帳などのテキストエディタで開きます。
id_ed25519_github.pubのような名前です。 -
あとで使うので、そのまま開いておくか内容を控えておいてください。
② Githubに公開鍵を登録
- GitHub にサインインします。
- 右上の ユーザーアイコン →「Settings」を選択します。
- 左側のメニューから、「SSH and GPG keys」を選択します。
- 右側の緑色のボタン「New SSH key」をクリックします。
- 「Title」に 任意の分かりやすい鍵の名前 を設定します。
- 「Key」に先ほど作成した 公開鍵をコピー&ペースト します。
- 「Add SSH Key」をクリックし、登録を完了します。
③ ~/.ssh/config にgithub.comを登録
-
~/.ssh/に戻り、configというファイルが無ければ新たに作成します。拡張子は付かないので気を付けてください。
既にあれば、それをメモ帳などで開きます。 -
以下を記述します。
~/.ssh/configHost github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_github
-
Host github.comは、基本的にはgithub.comを設定します -
HostName github.comは、GitHubのアドレスを書きます。固定です -
User gitは、SSH接続する際のユーザー名を書きます。固定です -
IdentityFile ~/.ssh/id_ed25519_githubは、 先ほど生成した秘密鍵のパス を指定します
④ リポジトリをクローン
-
まず最初にリポジトリのSSH URLを取得します。そのために リポジトリのページに移動 します。
-
表示されている URLをコピー します。
-
次に、PowerShellなどで リポジトリをクローンしたいパスへ移動 します。
PowerShellcd workingFolder -
リポジトリをクローンします。(URLは対象のリポジトリのものに置き換えてください)
PowerShellgit clone git@github.com:ユーザー名/リポジトリ名.git
⑤ gitの接続先をSSHに設定
-
クローンしたリポジトリの中へ移動 します。
PowerShellcd myProject -
該当リポジトリの 接続先URLを設定 します。(URLは対象のリポジトリのものに置き換えてください)
PowerShellgit remote set-url origin git@github.com:ユーザー名/リポジトリ名.git -
必要であれば、
user.emailとuser.nameも適切なものに変更してください。PowerShellgit config user.email example@gmail.com git config user.name 設定する名前
おわりに
初めての投稿ですので、不備な点がございましたらコメントでご指摘お待ちしております。
ご不明点などがございましたら、気軽にコメントでご質問ください。
