Git credential helper - обновить пароль

В настоящее время я использую GitHub через HTTPS, и у меня установлена ​​последняя версия Git (1.9.0) вместе с помощником по учетным данным Git в Windows 7.

При настройке моей среды я сказал git-credentials постоянно помнить мое имя пользователя и пароль.

Недавно я обновил свой пароль GitHub через веб-сайт, и теперь я больше не могу нажимать / извлекать / извлекать и т. Д.

Как мне обновить свой пароль в помощнике git-credentials в Windows 7?


person Andrew Thomson    schedule 15.09.2014    source источник
comment
Просто используйте git config --global credential.helper wincred и введите идентификатор пользователя и пароль; тогда это будет сохранено для вас, в следующий раз, когда вы измените свой пароль, повторите команду выше.   -  person Akshay Lokur    schedule 06.03.2017
comment
@AkshayLokur, это правильный ответ.   -  person Ravimallya    schedule 07.03.2017
comment
Если все остальное не удается, и вы используете TortoiseGit, вы можете попробовать выполнить действие через это. Например, при извлечении или извлечении с помощью Tortoise будет запрашиваться пароль, который затем можно обновить. Это, кажется, затем перезаписывает кеш Git Bash, и вы можете снова использовать bash.   -  person Paul F. Wood    schedule 28.06.2017
comment
@AkshayLokur У меня это не работает, я получаю сообщение: ошибка: невозможно перезаписать несколько значений одним значением.   -  person MarkusSchaber    schedule 01.02.2021
comment
В дополнение к комментарию @AkshayLokur мне пришлось следить за верхним комментарием под этим вопросом   -  person ijuneja    schedule 26.02.2021


Ответы (11)


Ни один из этих ответов не помог моей проблеме с учетными данными Git. Вот что сработало, если кому-то это нужно (я использую Git 1.9 в Windows 8.1).

Чтобы обновить свои учетные данные, перейдите в Панель управления Диспетчер учетных данных Общие учетные данные. Найдите учетные данные, связанные с вашей учетной записью Git, и отредактируйте их, чтобы использовать обновленный пароль.

Ссылка: Как обновить свои учетные данные Git в Windows

Обратите внимание, что для использования диспетчера учетных данных Windows для Git вам необходимо настроить помощник учетных данных следующим образом:

git config --global credential.helper wincred

Если у вас есть несколько учетных записей GitHub, которые вы используете для разных репозиториев, вам следует настроить учетные данные для использования полного пути репозитория (а не только домена, который используется по умолчанию):

git config --global credential.useHttpPath true
person xgo    schedule 02.10.2017
comment
Это должен быть принятый ответ, если git config --list содержит credential.helper=wincred. - person M. F.; 15.11.2017
comment
Сработал для меня - спасибо - и узнал о диспетчере учетных данных Windows. - person rwalter; 14.02.2018
comment
Этот. изменение пароля не сработало, но я удалил учетные данные, а затем git push снова запросил учетные данные, и это сработало. - person BiAiB; 02.05.2018
comment
Я думаю, что это работает и для окна 8.1, и для окна 10. В моем случае: window 10 Pro, git 2.17 - person Thinhbk; 07.06.2018
comment
Работал у меня. Спасибо :) - person Thulasiram; 20.06.2018
comment
Работал у меня. Спасибо :) - person Venkatesh Manohar; 07.11.2018
comment
Ты спас мне жизнь ‹3 - person maaz; 17.11.2018
comment
Спасибо! Это сработало для меня. Раньше я мог повторно отправить запрос на извлечение, выборку или отправку, и мне было предложено ввести новый пароль. По какой-то причине это больше не работает. Спасибо, что научили меня диспетчеру учетных данных! - person Chris Stahl; 10.12.2018
comment
Для тех, кто (например, я) удаляет сохраненные учетные данные в надежде на другое приглашение, но приглашение не отображается. В диспетчере учетных данных вы можете ADD a Generic Credential с адресом git:http://yourserver:port/. Http или Https одинаковы, важный бит - это git: в начале. - person A. Chiesa; 02.01.2019
comment
Большое спасибо за этот пост. Наш битбакет не использует HTTPS или SSH. После выполнения второй команды, установив useHttpPath как истину, сообщение прекратилось. Ошибка аутентификации. - person Michal; 07.06.2019
comment
СПАСИБО. Обновление в диспетчере учетных данных Панели управления помогло! Я поставил свой логин вместо токена личного доступа, поэтому необходимо обновить. - person TBirkulosis; 24.10.2019
comment
Почему, черт возьми, по умолчанию не используется полный путь? - person Thomas Weller; 12.01.2020
comment
Сработало у меня :) Спасибо! - person Waqas Ahmed; 14.09.2020
comment
Это работает не только с wincred, но и с ядром диспетчера учетных данных, которое поставляется с последней версией git. Поэтому вы можете использовать git config --global credential.helper manager-core, который также сохраняет учетные данные в вышеупомянутом диспетчере учетных данных Windows (немецкий: Anmeldeinformationsverwaltung). Протестировано с помощью git 2.31.1. - person AlbertM; 20.07.2021

При первой попытке Git fetch после смены пароля мне сказали, что комбинация имени пользователя и пароля недействительна. Это было правильно, поскольку помощник git-credential кэшировал мои старые значения.

Однако я попытался выполнить еще один git fetch после перезапуска терминала / командной строки, и на этот раз помощник по учетным данным предложил мне ввести имя пользователя и пароль GitHub.

Я подозреваю, что первоначальный неудачный запрос Git fetch в сочетании с перезапуском моего терминала / командной строки помог мне решить эту проблему.

Я надеюсь, что этот ответ поможет кому-нибудь еще в подобном положении в будущем!

person Andrew Thomson    schedule 15.09.2014
comment
Просто перезапустите Git Bash, появится диалоговое окно для ввода нового имени пользователя и пароля. - person Quan; 30.03.2017
comment
Для справки, я смог обойти это, выполнив еще одно извлечение / выборку без перезапуска сеанса Powershell в Windows 7. Windows предложила мне ввести новые кредиты во второй попытке. - person Bender the Greatest; 16.05.2017
comment
перезапуск консоли / приложения заставил wincred работать для меня. (Мне пришлось перезапустить консоль и Atom, и все работало нормально) - person low_rents; 16.07.2017
comment
Кажется, что ввод любой команды git, которая требует учетных данных во второй раз, делает это, не только git fetch, он также работал во второй раз git clone. - person navigator_; 09.10.2017
comment
большое спасибо! Каждый раз, когда я меняю пароль своего домена, я должен помнить, как обновить свои учетные данные. Git fetch - у меня это сработало! - person Alexander Brattsev; 15.01.2020
comment
Ага, это был тот. - person SoEzPz; 22.08.2020

Если вы являетесь пользователем Windows, вы можете удалить или обновить свои учетные данные в диспетчере учетных данных.

В Windows 10 перейдите по указанному ниже пути:

Панель управления Все элементы панели управления Диспетчер учетных данных

Или выполните поиск по запросу «диспетчер учетных данных» в разделе «Поиск Windows» в меню «Пуск».

Затем в диспетчере учетных данных выберите «Учетные данные Windows».

Диспетчер учетных данных отобразит множество элементов, включая ваш прогноз и репозиторий GitHub в разделе «Общие учетные данные».

Вы нажимаете стрелку раскрывающегося списка в правой части вашего Git: и он покажет варианты для редактирования и удаления. Если вы удалите, всплывающее окно с учетными данными появится в следующий раз, когда вы получите или вытащите. Или вы можете напрямую редактировать учетные данные там.

person Vins    schedule 23.10.2018
comment
Попробовав другие варианты, у меня сработал только этот. Я нашел информацию здесь: cmatskas.com/how-to- update-your-git-credentials-on-windows - person neomib; 03.12.2018
comment
Примечание: этот элемент управления НЕ ДОСТУПЕН ЧЕРЕЗ ПАНЕЛЬ УПРАВЛЕНИЯ METRO UI! Вы должны запустить control.exe вручную, чтобы увидеть этот элемент управления. - person AnrDaemon; 03.06.2019
comment
Это очень помогло! Я даже не знал, что эти инструменты существуют. - person jaw; 19.06.2020
comment
Это сработало для Windows 10! Спасибо - person ScottyG; 21.04.2021
comment
Это очень помогло. - person Arsman Ahmad; 30.06.2021

Решение с использованием командной строки для Windows, Linux и MacOS

Если вы обновили свой пароль GitHub на сервере GitHub, при первой попытке команды git fetch/pull/push он генерирует сообщение Ошибка аутентификации.

Выполните ту же команду git fetch/pull/push второй раз, и она запросит учетные данные (имя пользователя и пароль). Введите имя пользователя и новый обновленный пароль сервера GitHub, и вход будет успешным.

Даже у меня была эта проблема, я выполнил вышеуказанные шаги и сделал !!

person Farooque    schedule 13.10.2016
comment
@ Винсент: в чем проблема? - person Farooque; 09.06.2017
comment
Я просто получаю повторный удаленный доступ: неверное имя пользователя или пароль. фатальный: не удалось выполнить аутентификацию - person RichMeister; 26.11.2018
comment
@RichMeister: Со второго раза он будет запрашивать имя пользователя / пароль. Просто укажите свое имя пользователя / новый_пароль. - person Farooque; 27.11.2018
comment
У меня работал на MacOS с кешированными учетными данными после смены пароля. В первый раз получите сообщение «Ошибка аутентификации для ...». Попробовал еще раз, и мне было предложено ввести учетные данные, введите идентификатор пользователя и новый пароль, и теперь снова работает - person Kevin Hooke; 22.05.2019
comment
Это лучший / самый простой ответ - person Ryan Boken; 15.01.2020
comment
К сожалению, у меня не работает MacOS Big Sur. Git просто продолжает использовать старые учетные данные имени / пароля. - person Kokodoko; 26.12.2020

Сначала найдите версию, которую вы используете, с помощью команды Git git --version. Если у вас более новая версия, чем 1.7.10, просто используйте эту команду:

git config --global credential.helper wincred

Затем выполните git fetch, затем он предложит обновить пароль.

Теперь он не будет запрашивать пароль несколько раз в Git.

person Sireesh Yarlagadda    schedule 17.11.2015
comment
Это не отвечает на вопрос - person disklosr; 05.10.2017
comment
@disklosr Да, это так. Это заставляет Git запрашивать обновленный пароль в следующий раз, когда вы выполняете удаленное действие. - person Nilpo; 11.08.2018
comment
@Nilpo Что же тогда такое удаленное действие? Не должно ли git push origin xxx быть удаленным действием? Он этого не делает. вместо этого я получаю удаленное: неверное имя пользователя или пароль. - person RichMeister; 26.11.2018
comment
У меня это сработало. После выполнения этой команды. Выполните git fetch, вам будет предложено ввести учетные данные, введите их. - person Manjeet; 18.02.2019
comment
Почему --global? Не рискую ли я получить повторный запрос обо всех моих репозиториях, а не только о том, что затронуто? - person Thomas Weller; 12.01.2020

Мне кажется, что ответы здесь устарели. Для меня под Windows 10 и Git 2.15.0 это сработало:

git credential reject
protocol=https
host=github.com
<Empty line here>

А затем установить новое имя пользователя и пароль:

git credential fill
protocol=https
host=github.com
<empty line here>

После этого, если учетные данные теперь работают на желаемом целевом хосте, мы должны использовать git credential approve -как указано в типичное использование учетных данных Git (шаг 4) - чтобы сообщить помощникам по учетным данным, чтобы они пометили учетные данные как утвержденные и повторно использовали их в будущих подключениях.

person atavio    schedule 21.11.2017
comment
Для меня, выполняя часть git credential fill как есть, он автоматически генерировал старый неправильный пароль; Мне пришлось установить новый вручную с помощью этой команды, чтобы он заработал; в любом случае, спасибо, этот ответ помог мне с этой проблемой! - person Emerson Cardoso; 04.02.2019
comment
Проголосуйте за первое место! Сколько зря потратил время на чтение устаревших решений. На самом деле Git Credential Manager виноват здесь, я думаю, в том, что мне приходилось испытывать боль при ротации паролей домена. - person Janis Veinbergs; 07.05.2019
comment
после fill, не следует ли нам использовать approve? - person Bernardo Dal Corno; 22.05.2019
comment
На моей машине git credential reject никогда не завершается - person Thomas Weller; 12.01.2020
comment
@ThomasWeller, вы должны нажать Enter, чтобы оставить там пустую строку, затем она завершится. - person atavio; 13.01.2020
comment
Добро пожаловать, @DavidCallanan! Забавно, ответ довольно скрыт под другими ответами, но все же помогает некоторым людям. - person atavio; 20.04.2020
comment
Ты спас мне жизнь, братан - person Hugo P; 12.03.2021
comment
+1 за предоставление решения на основе git вместо решения на основе Windows. Я запускаю Linux, и мне нужно было переключиться с пароля на PAT, и это был единственный ответ, который сработал. - person Patrick vD; 16.03.2021

FWIW, я наткнулся на ту же самую проблему (и мой босс тоже, так что она стала более серьезной).

Мгновенное решение - удалить или исправить записи Git в диспетчере учетных данных Windows. Возможно, вам будет сложно найти его в вашей локализованной версии Windows, но, к счастью, вы можете запустить его из старого доброго диалога запуска Windows + R с control keymgr.dll или control /name Microsoft.CredentialManager (или rundll32.exe keymgr.dll, KRShowKeyMgr если вы предпочитаете классический вид). Или поместите это в командный файл для своих коллег: cmdkey /delete:git:http://your.git.server.company.com.

В диспетчере учетных данных Git от Microsoft это известная проблема. это может быть исправлено уже в начале 2019 года (так что не задерживайте дыхание).

Обновление (30 сентября 2020 г.): GCM4W, похоже, более или менее заброшен (последний выпуск более года назад, с тех пор назван только один коммит, который нужно освоить, я вас не шучу, воссоздайте масштабируемый версия логотипа GCM). Но не отчаивайтесь, поскольку Microsoft переходит на Core, появился новый блестящий проект под названием GCM. Core, который, кажется, правильно обрабатывает изменения пароля. Он может быть установлен отдельно (должен быть активирован автоматически, в противном случае активируется, например, с помощью git config --system credential.helper manager-core), но он также включен в текущий Git для Windows 2.28.0. Для получения дополнительной информации см. это сообщение в блоге.

person Jakob    schedule 29.11.2018
comment
Понимание диспетчера учетных данных Windows с помощью пользовательского интерфейса панели управления - это здорово, но становится утомительным, когда вам нужно обновлять на всех машинах. Эта единственная команда хороша тем, что выполняет то же самое (удаляет существующие недопустимые учетные данные), что заставляет git снова запрашивать учетные данные в следующий раз, когда они ему понадобятся. В Windows Server 2016 синтаксис команды для удаления учетных данных немного отличается: cmdkey /delete:git:https://your.git.server.company.com - person Rudimentary; 06.12.2018
comment
/delete{:<TargetName>} - это официальный синтаксис, но я обнаружил, что ярлык /del <TargetName> также работает, по крайней мере, в Windows 10 (1803). - person Jakob; 07.12.2018
comment
отличная идея для псевдонима! delpw = !cmdkey /delete:git:$(git remote get-url $1). Использование: git delpw origin (ps: / del здесь не работает, Win 10 тоже) - person Bernardo Dal Corno; 22.05.2019

Рабочее решение для Windows:

Панель управления ›Учетные записи пользователей› Диспетчер учетных данных ›Общие учетные данные

введите описание изображения здесь

person Waqas Ahmed    schedule 14.09.2020
comment
Это будет работать только в том случае, если вы вошли в систему как пользователь, учетные данные которого вы хотите изменить; если вы запускаете git bash от имени администратора и не являетесь администратором, или вы меняете учетные данные для другого пользователя, этот метод не будет работать по очевидным причинам. - person Jorge.V; 12.10.2020
comment
В Windows 10 он называется: Панель управления ›Учетные записи пользователей› Управление своими учетными данными ›Учетные данные Windows, найдите учетные данные git и отредактируйте - person htafoya; 18.12.2020

Просто cd в каталоге, в который вы установили git-credential-winstore. Если вы не знаете где, просто запустите это в Git Bash:

cat ~/.gitconfig

Он должен напечатать что-то вроде:

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

В этом случае ваш репозиторий - C: \ ProgramFile \ GitCredStore. Как только вы окажетесь внутри этой папки с помощью Git Bash или команды Windows, просто введите:

git-credential-winstore.exe erase
host=github.com
protocol=https

Не забудьте дважды нажать Enter после protocol=https.

person Luc DUZAN    schedule 02.06.2015

Ни одно из текущих решений не помогло мне с git bash 2.26.2. Это должно работать в любом случае, если вы используете диспетчер учетных данных Windows.

Одна из проблем заключается в том, что диспетчер учетных данных Windows запускается для зарегистрированного пользователя. В моем случае, например, я запускаю git bash правой кнопкой мыши, запускаю от имени администратора. Поэтому мои сохраненные учетные данные находятся в диспетчере учетных данных, к которому я не могу получить доступ с помощью графического интерфейса Windows, если я не вхожу в Windows как администратор.

Чтобы исправить это:

  • Откройте cmd от имени администратора (или любого другого пользователя, с которым вы запускаете с помощью bash)
  • Зайдите в windows / system32
  • Тип 1_. Здесь должны появиться ваши старые учетные данные с частью, которая гласит ... цель: xxx ...
  • Введите cmdkey /delete:xxx, где xxx - цель из предыдущей строки.

Он должен подтвердить, что ваши учетные данные были удалены. В следующий раз, когда вы выполните в git bash какую-либо операцию, требующую аутентификации, появится всплывающее окно с запросом ваших учетных данных.

person Jorge.V    schedule 22.05.2020

Для Windows 10 это:

Панель управления ›Учетные записи пользователей› Управление своими учетными данными ›Учетные данные Windows, поиск учетных данных git и редактирование

person htafoya    schedule 17.12.2020