So you have one project on github and another on bitbucket and you want different SSH keys for each project.
Github's docs say to add this to your .ssh/config
file
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
But, if you add a new record to this file with a HostName set
Host bitbucket.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_bitbucket_rsa
you can tell SSH to use this ssh identity for bitbucket.com
and fall back to the default otherwise.
You could even be more specific and do
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_github_rsa
Host bitbucket.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_bitbucket_rsa
You can even alias these using the host name if you're using github for both personal and work
Host github_personal
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_github_personal_rsa
Host github_work
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_github_work_rsa
so now instead of your remote origin being
remote.origin.url=git@github.com:madole/very-important-project.git
its either
Personal
remote.origin.url=git@github_personal/very-important-project.git
or
Work
remote.origin.url=git@github_work/very-important-project.git