in .gitconfig, you say:
[user]
name = Me Myself
email = personal@example.com
signingkey = D34DB44F
[includeIf "gitdir:~/src/github.com/work_org/"]
path = ~/.gitconfig_work
Then in ~/.gitconfig_work: [user]
name = Me Myself
email = work@example.com
signingkey = D34DC0D4
[core]
sshCommand = ssh -i ~/.ssh/work_ed25519
I like this way better, because I don't need to remember to specify per-project config, as long I put them in the right directory :-)