Подтвердить что ты не робот

Git Windows Отключить пользовательский интерфейс приглашения пароля, но получить пароль из оболочки

В git bash для Windows имя пользователя и/или пароль задаются в отдельном всплывающем окне пользовательского интерфейса, как показано ниже.

Пользовательская подсказка

При нажатии на отмену вы получите приглашение ниже на основе оболочки, где можно ввести одно и то же имя пользователя.

Приглашение пользователя на основе оболочки

Есть ли способ отключить эти подсказки? Я все же хочу ввести свое имя пользователя и пароль, но вместо приглашения на основе пользовательского интерфейса я хочу ввести его через приглашение на основе оболочки.

Использование предложений из этого не помогает. Как отменить git config --system core.askpass git -gui - askpass

4b9b3361

Ответ 1

Попробуйте очистить переменную core.askPass глобально (в вашем конфигурационном файле)

$ git config --global core.askPass ""

или используйте переключатель -c, чтобы переопределить его только для одной команды

$ git -c core.askPass="" clone <https_url>

см. https://git-scm.com/docs/gitcredentials

Примечание. Отмена установки core.askPass с помощью git config --global --unset core.askPass не помогает. Он должен быть установлен в пустую строку, как указано выше.

Ответ 2

Используйте ssh вместо http/https.

Вам нужно будет установить ключи ssh на вашем локальном компьютере, загрузить их на сервер git и заменить форму URL http:// на git://, и вам больше не понадобится использовать пароли.

Если вы не можете использовать ssh, добавьте это в свою конфигурацию:

[credential "https://example.com"]
    username = me

документы здесь.

Ответ 3

Отменить SSH_ASKPASS.

unset SSH_ASKPASS

Чтобы сделать это автоматически каждый раз, когда вы открываете git bash, вы можете добавить указанную выше строку в конец вашего .bashrc.

Исследование

Документы gitcredentials, связанные в других ответах, перечисляют количество мест git, чтобы определить, как запросить пароль. Я исследовал каждую по очереди:

env | grep GIT
git config --get core.askPass
env | grep SSH

Последняя команда сказала мне SSH_ASKPASS:

SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass`.

Это не часть моих точечных файлов, и, похоже, это происходит из дистрибутива Windows git по умолчанию из http://git-scm.com.

Ответ 4

Вы можете попробовать следующую конфигурацию:

git config --global --unset credential.helper

и

git config --system --unset credential.helper

Это помогло мне, когда я использую PortableGit 64-bit 2.12.1.1 в Windows 7.

Ответ 5

В моем случае я использовал git 1.9.5 в течение 3 лет. И недавно я попытался установить последнюю версию 2.15.0. В последнем git bash, когда я делаю git pull, он просил меня ввести пароль, тогда как в старой версии git (1.9.5) он не будет просить ничего подобного.

Я искал в google. Наконец мой друг помог мне решить это. Это потому, что я настроил ключ dsa вместо ключа rsa. В соответствии с моим пониманием dsa - это формат старого ключа, а rsa - новый ключевой формат.

Чтобы использовать последний git bash со старым ключом dsa, я сделал следующее: создайте файл с именем "config" (это полное имя) внутри вашей .ssh-папки. В этом файле укажите нижнюю ноту,

PubkeyAcceptedKeyTypes = + SSH-ДСС

И сохраните его.

Теперь откройте последнюю версию git bash. И сделайте git pull. Он не будет запрашивать пароль и просто вытаскивать коммиты.