Intro
We will configure Git to use your work GitHub account and work SSH key for all repositories in your work directory, while using your personal account and SSH key for repositories in other directories.
With this guide you won't have to use weird Github urls or edit your ssh config.
Requirements
Make sure you have generated ssh keys for your work account and your personal account.
Let's call them id_rsa_work and id_rsa_personal respectively.
These instructions are for Mac and Linux. Windows users will have to adapt it.
Steps
  
  
  1 Create a config file in your home directory called .gitconfig-work and put this in it.
[user]
    name = Your Name
    email = workemail@company.com
[core]
    sshCommand = "ssh -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_work -F /dev/null"
- change 
Your Nameto your name - change 
workemail@company.comto your work email - change 
~/.ssh/id_rsa_workto the location of the ssh private key used for your work github account. 
  
  
  2 Open your git config at ~/.gitconfig and put this in it
[user]
    name = Your Name
    email = personalemail@gmail.com
[core]
    sshCommand = "ssh -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_personal -F /dev/null"
[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
- change 
Your Nameto your name - change 
personalemail@gmail.comto your personal email - change 
~/.ssh/id_rsa_personalto the location of the ssh private key used for your personal github account. - make sure that 
.gitconfig-workis the name of the file you created in the previous step. 
Conclusion
We have set up Git to use your personal GitHub account and personal SSH key as the default for all repositories on your computer, except for those in your work directory, which should use your work account and work SSH key.
              
    
Top comments (1)
Why would you use separate accounts though? I’ve have 1 single GirHub account for decades now and I’ve used it personally and professionally, when I leave a company I simply loose access, no need for the extra admin of multiple accounts.