create different ssh key according the article Mac Set-Up Git
$ ssh-keygen -t rsa -C "your_email@youremail.com"
$ ssh-keygen -t rsa -b 4096 -C "rajendarreddy.jagapathi@company.com"
Please refer to github ssh issues for common problems.
for example, 2 keys created at:
~/.ssh/id_rsa_company1
~/.ssh/id_rsa_company2
then, add these two keys as following
$ ssh-add ~/.ssh/id_rsa_company1
$ ssh-add ~/.ssh/id_rsa_company2
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
#company1 account
Host company1
HostName company1.com
User rajendar@company1.com
IdentityFile ~/.ssh/id_rsa_company1
#company2 account
Host company2
HostName company2.com
User rajendar@company2.com
IdentityFile ~/.ssh/id_rsa_company2
clone your repo git clone git@company1:demo/demo.git demo
cd demo and modify git config
$ git config user.name "rajendar"
$ git config user.email "rajendar@company1.com"
$ git config user.name "rajendar"
$ git config user.email "rajendar@company2.com"
or you can have global git config
$ git config --global user.name "rajendarreddyj"
$ git config --global user.email "rajendarreddyj@gmail.com"
then use normal flow to push your code
$ git add .
$ git commit -m "your comments"
$ git push