Есть ли способ запретить git открывать окно запроса пароля в Windows?
При отправке удаленного хранилища с помощью git bash мой пароль требуется и спрашивается. Это не является проблемой.
Проблема в том, что я использовал просто ввести свой пароль в консоль git, но затем я переключился с Linux на Windows, и мой пароль спрашивается в окне приглашения вместо консоли.
Я нахожу это гораздо менее удобным: мне нужно подождать одну секунду, пока оно появится, и иногда я теряю фокус.
Странно то, что если я закрываю диалоговое окно, то пароль спрашивается из консоли git. Это то, что я ищу.
Знаете ли вы, как я могу предотвратить появление окна с предложением и просто ввести пароль в консоль, пожалуйста? Есть ли какая-нибудь опция git, которую я должен изменить?
3 ответа
Похоже, это связано с core.askPass
опция git-config.
В документации сказано:
core.askPass
Некоторые команды (например, интерфейсы svn и http), которые в интерактивном режиме запрашивают пароль, могут получить указание использовать внешнюю программу, заданную через значение этой переменной. Может быть переопределено переменной среды GIT_ASKPASS. Если не установлено, вернитесь к значению переменной среды SSH_ASKPASS или, в случае неудачи, к простой подсказке пароля. Внешняя программа должна получить подходящую подсказку в качестве аргумента командной строки и записать пароль в свой STDOUT.
Моя конфигурация по умолчанию ничего не содержит об этой опции, поэтому я полагаю, что она возвращается к "простой подсказке пароля".
Чтобы переопределить это поведение, мне просто нужно было установить параметр на пустую строку:
git config --global core.askPass ''
Затем пароль запрашивается с консоли, ничего не запрашивая.
В 2022 году (6 лет спустя) вы сможете установить последнюю версию GCM 2.0.692 (Git Credential Manager).
И используйте его с:
-
git config --global credential.helper manager-core
-
git config --global credential.guiPrompt false
- или же:
SET GCM_GUI_PROMPT=0
Это отключит любую подсказку и оставит пользователю только подсказку терминала.
Если вы отправляете код в репозиторий, с которым вы обычно работаете, я рекомендую вам аутентифицировать себя, используя ваш открытый ключ вместо пароля. Если вы это сделаете, пароль не будет запрашиваться снова и снова ни в консоли, ни в командной строке.