Today when I tried to push update files to my GitHub repository it fails. I guess the reason of that may be that the GitHub account which I tried to push to is different from the GitHub account I was used to use on my Mac. But the new account will be used for two courses this quarter so I have to solve this problem. After some unsuccessful tries, I find out a good tutorial and figure it out finally. For convenience, I will take a note for it in case facing similar situation in the future.
1. Navigate to /.ssh and type ssh-keygen -t rsa -b 4096 -C "firstname.lastname@example.org" to create a new ssh-key
ssh-keygen -t rsa -b 4096 -C "email@example.com"
2. Name the new ssh key, for example, work_rsa, and copy the content from work_rsa.pub
you can use: pbcopy < ~/.ssh/work_rsa.pub
3. Open your GitHub page, click setting from upper-right corner and click SSH and GPG keys.
4. Click New SSH key or Add SSH key.
5. Pick a name for title and Paste your key into the "Key" field.
6. Open ~/.ssh/config, if not exist then create one.
add the content below to config file.
# Personal GitHub account Host github.com HostName github.com User git AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa # Work GitHub account Host github.com-work HostName github.com User git AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/work_rsa
7. Clone the work project repo (with a slightly different address)
git clone firstname.lastname@example.org:[my work GitHub group]/[my project].git
git clone email@example.com:[my work GitHub group]/[my project].git