create different ssh key according the article Mac Set-Up Git
$ ssh-keygen -t rsa -C "[email protected]"
Please refer to github ssh issues for common problems.
for example, 2 keys created at:
~/.ssh/id_rsa_activehacker
~/.ssh/id_rsa_jexchan
then, add these two keys as following
$ ssh-add ~/.ssh/id_rsa_activehacker
$ ssh-add ~/.ssh/id_rsa_jexchan
you can delete all cached keys before
$ ssh-add -D
finally, you can check your saved keys
$ ssh-add -l
$ cd ~/.ssh/
$ touch config
$ subl -a config
Then added
#activehacker account
Host github.com-activehacker
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_activehacker
#jexchan account
Host github.com-jexchan
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_jexchan
clone your repo git clone [email protected]:activehacker/gfs.git gfs_jexchan
cd gfs_jexchan and modify git config
$ git config user.name "jexchan"
$ git config user.email "[email protected]"
$ git config user.name "activehacker"
$ git config user.email "[email protected]"
or you can have global git config $ git config --global user.name "jexchan" $ git config --global user.email "[email protected]"
then use normal flow to push your code
$ git add .
$ git commit -m "your comments"
$ git push
Another related article in Chinese
@mbean-epc the easiest is just to start another
ssh-agent
, pull the ssh key of that repo into that agent, and do all thegit
operations in the same terminal of that agent. This is dead simple, does not require setting anyssh-config
or touch any configuration of the repository you are trying to pull. See this for details.