Github の練習でコンフリクト状態を発生させようと思い、当初は複数の Github アカウント使用を考えていましたが、実は通常できないことが分かりました。
調べて色々試した結果できるようになったので、メモとして残しておきます。
ゴール
同じ端末(例えば同じノート PC)上で、複数の Github アカウントを使用できるようにします。
前提
既に 1 つの Github アカウントが使用できる状態であることとします。
環境
- OS :Windows (ノート PC)
- Git:git version 2.20.1.windows.1
やること概要
新しい Github アカウント取得時に使用するメールアドレス取得
↓
新しい Github アカウント取得
↓
SSH キー作成
↓
公開鍵の内容を新しい Github アカウントに登録
↓
「config」ファイル修正
↓
Visual Studio Code のターミナルで情報登録
↓
ファイルを push
例
あくまで例ですので、ご自分のアカウント、メールアドレスに置き換えてください。
作成する新しい Github アカウント : testb
新しい Github アカウント (testb) に紐づけられたメールアドレス : testb@gmail.com
作成する SSH キーのファイル : b_rsa
やること詳細
(1)既に持っている Github アカウントに紐づけているメールアドレスとは異なるメールアドレスを取得します。
⇒Google にて、例示している「testb@gmail.com」を取得します。
(取得方法については、今回の本筋から逸れるため、割愛します。)
(2)Github サイト にて、(1) で取得したメールアドレスを使用して新しいアカウントを取得します。
⇒例示している「testb」を取得します。
(取得方法については、今回の本筋から逸れるため、割愛します。)
(3)最初に Git をインストールして使用できる「Git Bash」を起動し、SSH キーを作成します。
ssh-keygen -t rsa -b 4096 -C "testb@gmail.com" -f ~/.ssh/b_rsa
⇒例示している「b_rsa」で作成します。
実行後、.ssh 配下に「b_rsa」と「b_rsa.pub」の 2 ファイルが作成されていることを確認します。
(4)「testb」で Github にログインし、「b_rsa.pub」の中身を登録します。
1. Github 画面右上のユーザのマークをクリックし、「Settings」をクリックします。
2. 画面左側の「Personal settings」の一覧の「SSH and GPG keys」をクリックします。
3. 「SSH keys」の項目の「New SSH key」をクリックします。
4. 「Title」に識別しやすい文字列、「Key」に「b_rsa.pub」の内容をコピペして、「Add SSH key」をクリックします。
⇒「SSH keys」の項目に登録した情報が表示されていることを確認します。
(5)「config」という名前のファイルに、以下の内容を追記して保存します。
Host の部分には、任意の文字列を指定します。
Host b
HostName github.com
Identityfile ~/.ssh/b_rsa
Port 22
User git
(6)Visual Studio Code で push するデータが含まれるフォルダを開いて「Ctrl + Shift + @」でターミナルを表示し、以下を実行します。
git init
git remote add origin git@b:testb/test1.git
git config --global user.name "testb"
git config --global user.email testb@gmail.com
「git@b:testb/test1.git」の部分については、以下の通りです。
- b :(5) で config ファイルに追記した「Host」の部分と同じ内容
- testb :(2) で取得した Github アカウント名
- test1.git:作成済みのリポジトリ名
設定登録後は次のコマンドを実行し、「user.name」「user.email」「remote.origin.url」の項目から、正しい情報が登録されていることを確認します。
git config --list
なお、user.name と user.email については、操作する Github アカウントを変えるたびに実行し、その Github アカウントのものに変更する必要があります。
★★★★ここまででひと通りの設定は完了です。
(7)(6) で情報を登録後に、ファイルを push する場合は、以下のコマンドを実行します。
git config --global user.name "testb"
git config --global user.email testb@gmail.com
git add .
git commit -m"コミットメッセージ"
git push origin master