2つ目のGithub Accountを作成し、その新しいアカウントにPushする方法


今回、普段使っているGithub Acccountではなく、新しいアカウントを作成し、そこに新しいRepositoryを作ってPushしようとしたら、できなかったので、方法を調べながらなんとかできたので、載せておきます。

プライベートと会社用でGithub Accountを分けたい方など、参考になれば幸いです。

参考Youtube

参考資料

手順は以下の通り
1. 新しいSSH Keyを作成する (Generate a new SSH key)

1. 新しいSSH Keyを作成する (Generate a new SSH key)

まずは指定したメールアドレス用のSSH Keyを作成します。

ssh-keygen -t rsa -C "<メールアドレス>"
例えば、
ssh-keygen -t rsa -C "[email protected]"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/********/.ssh/id_rsa): 

(********は隠しています。)
と聞かれるので、

/Users/********/.ssh/id_rsa_######
(######に、好きなwordを入れれば良い)

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

と聞かれたら、passphraseを入力。

Your identification has been saved in /Users/********/.ssh/id_rsa_kjx63pro.
Your public key has been saved in /Users/********/.ssh/id_rsa_kjx63pro.pub.
The key fingerprint is:
**************************************** ********@gmail.com
The key's randomart image is:
+---[RSA ****]----+
|.... oE++= ++ .  |
|+.  . o.oo*..=   |

これで、新しいSSH Keyの作成は完了。
作成できたか確認する場合は、
cd ~/.ssh
で、sshダイレクトリーに移動し、
ls -la
を入力すると、これまでに作成されたSSH Keyがリストアップされます。

2. 新しいGithub アカウントに、作成したSSH Keyを紐付ける

新しいGithubアカウントにログインし、
Setting => SSH and GPG keys(左のメニューの真ん中あたり) =>New SSH key(緑のボタン)
で、TitleとKeyの入力を要求されるので、

"Title"は、なんでも
"Key"の欄には、先ほど作成したSSH keyを入力。

コマンドラインで、
pbcopy < ~/.ssh/id_rsa_######.pub
と入力して、Public Keyをコピーし、"Key"欄に貼り付ければ完了。

3. Macのssh-agentにSSH keyを登録する。

タイトルだけ見れば、よくわからないかもしれませんが、SSH keyをMacで使えるようにする作業です。

コマンドラインで
ssh-add ~/.ssh/id_rsa_kjx63pro
と入力すると

Enter passphrase for /Users/********/.ssh/id_rsa_kjx63pro: 

と聞かれるので、先ほど決めたpassphraseを入力。
すると、

Identity added: /Users/********/.ssh/id_rsa_kjx63pro (********@gmail.com)

4. SSH config ファイルを作成する。

まず.sshダイレクトリーに移動(おそらく移動していなかったら、この時点で.sshファイルにいるでしょう)。

cd ~/.ssh

Config ファイルを作成
touch config
code config <- 好きなText Editorで入力すれば良い。自分の場合、VS Codeでconfig file内に記入するためにvsCodeを開く

デフォルトのアカウント(上の "Default Account")と、二つ目のGithub Account(kjx63pro Account)の両方を書いておく。

# Default Account
Host github.com
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa

# kjx63pro Account
Host github-kjx63pro  
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_kjx63pro

これで完成。

5. 新しいGithub アカウントにPush

git remote add origin [email protected]:kjx63pro/simple_todo_app_with_react_hooks.git
git push -u origin master

すれば、新しいアカウントに、いつものユーザーとしてPushされます。

6. 補足. Git Userの変更

git config user.name "User 1"   // Updates git config user name
git config user.email "[email protected]" // Updates git config user email

これで、gitコマンドをどのユーザーが行ったかの設定ができます。