For Windows, there is a very simple solution:
git config --global credential.helper manager
and then use https git URLs for everything.
Here is the slightly more elaborate explanation ![]()
When you install standard git for windows, it also installs the git credential manager for Windows. That credential manager essentially “just works” for things like github etc. with private repos. It supports two factor authentication and all the other good things.
When you run git command line, it will look in all the normal git config locations for a configuration setting for the credential helper (system, global and user, or whatever they are). BUT NONE of them have the config setting for the credential manager, because there is yet another setting beyond system, global and user that only applies to the git command line, and that is where the credential helper is configured to use manager.
Julia and libgit2 look in the system, global and user configuration for credential helper settings, but not in this custom location for the git command line. And so by default, julia will not pick up the manager setting for the credential helper, and so you won’t get the “good” credential helper where everything just works.
The command line I posted above configures the global credential.helper setting to use manager. That setting is picked up by the julia package manager, and then everything just works.
At least on my system ![]()