You can clone with
Stick this in ~/.netrc with chmod 600 or something. You can curl the api as yourself with curl -n https://api.github.com/user
curl -n https://api.github.com/user
What about per-repository login?
@noamtm I just checked, netrc or gitcredentials aren't up to the task (the latter has an option to match on host paths, but prefix matches are missing so it's only semi-convenient). If you control the url you should put the username in the url or use host aliases, both ssh (man ssh_config) and git (git help config then /insteadof) have them; if you can't (go get or pip remote requirements), there is no convenient solution.
git help config
Note about a limitation: password in .netrc file should not contain spaces, since the .netrc file is parsed against spaces, tabs and new-lines.
Thanks man! Exactly what I needed
Any way to store password here not in plain text.
It's too risky to store in plaintext