No need to embed the username and password into the repository URL.
You can encrypt all the different credentials into one ~/.netrc.gpg
, and declare a credential helper that will make git find the right credentials for the right repos.
git config --local credential.helper "netrc -f /path/to/.netrc.gpg -v"
See "Is there a way to skip password typing when using https:// github".
As I mention in "Configure Git clients, like GitHub for Windows, to not ask for authentication", this even is compatible with the recent two-factor authentication of GitHub.