今回、普段使っているGithub Acccountではなく、新しいアカウントを作成し、そこに新しいRepositoryを作ってPushしようとしたら、できなかったので、方法を調べながらなんとかできたので、載せておきます。
プライベートと会社用でGithub Accountを分けたい方など、参考になれば幸いです。
手順は以下の通り
- 新しい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 "test@gmail.com"
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 git@github.com-kjx63pro: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 "user1@workMail.com" // Updates git config user email
これで、gitコマンドをどのユーザーが行ったかの設定ができます。