Это основано на URL. Откройте диспетчер учетных данных, и вы увидите что-то вроде этого:
Подробнее о точном рабочем процессе можно узнать по здесь :
Менеджер потока:
git-credential находит, что credential.helper = manager, и вызывает git-credential-manager с опцией "get".
git-credential-manager не хватает учетных данных для +.
git-credential-manager просматривает конфигурацию +, чтобы определить, являются ли они базовыми учетными данными, m-фактором VSO или двухфакторной аутентификацией GitHub.
В случае базовых учетных данных git-credential-manager сообщает git-credential правду о том, что у него нет для него учетных данных.
Затем git-credential запрашивает учетные данные у пользователя в командной строке.
Пользователь вводит учетные данные.
git-credential вызывает git-credential-manager с параметром store и предоставляет учетные данные для хранения.
Далее конфигурация может помочь вам установить конкретный метод авторизации, , т. Е. , если бы я хотел использовать NTLM для авторизации связи с размещенным в TFS git-репо, я бы набрал
git config --system credential.myserver.com.authority Integrated
, который явно указывает всем репозиториям использовать Integrated / NTLM вместо того, чтобы пользователь вводил свое имя пользователя / пароль (даже не один раз). Очевидно, измените myserver.com на свой собственный домен. Это также имеет дополнительное преимущество: он не ломается, когда пользователь должен обновить свой пароль. В противном случае им придется вручную удалить / изменить учетные данные из диспетчера учетных данных.