Удаление учетных данных из Git
Я работаю с несколькими репозиториями, но в последнее время я просто работал в нашем внутреннем, и все было здорово.
сегодня мне пришлось совершить и вставить код в другой, но у меня возникли некоторые проблемы.
$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://gavekortet@appharbor.com/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed
Я ничего не могу сделать, чтобы снова ввести пароль.
как я могу сбросить учетные данные в моей системе, чтобы Git попросил у меня пароль этого репозитория?
Я попробовал:
git config --global --unset core.askpass
для того чтобы сбросить пароль
git config credential.helper 'cache --timeout=1'
во избежание кэширования учетных данных...
кажется, ничего не работает; у кого-нибудь есть идея получше?
21 ответов
кэш учетных данных Git запускает процесс демона, который кэширует ваши учетные данные в памяти и передает их по требованию. Таким образом, убийство вашего процесса git-credential-cache-daemon выбрасывает все это и приводит к повторному запросу пароля, если вы продолжаете использовать его в качестве кэша.вспомогательный вариант.
вы также можете отключить использование кэша учетных данных Git с помощью git config --global --unset credential.helper
. Затем сбросьте это, и вы продолжите иметь кэшированные учетные данные, доступные для других репозитории (если есть). Вам также может потребоваться сделать git config --system --unset credential.helper
если это было задано в файле конфигурации системы (например, Git для Windows 2).
В Windows вам может быть лучше использовать менеджер помощник (git config --global credential.helper manager
). Это хранит ваши учетные данные в хранилище учетных данных Windows, который имеет интерфейс панели управления, где можно удалить или изменить сохраненные учетные данные. В этом магазине ваши данные защищены вашим логином Windows и могут сохраняться в течение нескольких проведение сессий. The менеджер помощник, включенный в Git для Windows 2.x заменил предыдущее wincred помощник, который был добавлен в Git для Windows 1.8.1.1. Подобный помощник называется магазине приложений также доступен онлайн и использовался с GitExtensions, поскольку он предлагает более управляемый интерфейс GUI. The менеджер helper предлагает тот же интерфейс GUI, что и магазине приложений.
выписка из руководство по Windows подробно Панель хранилища учетных данных Windows:
откройте учетные записи пользователей, щелкнув изображение кнопки Пуск кнопки Пуск, щелкнув Панель управления, щелкнув учетные записи пользователей и безопасность семьи (или щелкнув учетные записи пользователей, если вы подключены к сетевому домену), а затем щелкнув учетные записи пользователей. В левой области щелкните Управление учетными данными.
Если эта проблема возникает на компьютере под управлением Windows, выполните следующие действия.
- перейти к менеджеру учетных данных
- перейти к учетным данным Windows
- удалить записи в разделе Общие учетные данные
- повторите попытку подключения. На этот раз он должен запросить у вас правильное имя пользователя и пароль.
введите:
$ git config credential.helper store
и затем вам будет предложено снова ввести свои учетные данные.
предупреждение
использование этого помощника сохранит ваши пароли незашифрованными на диске
я столкнулся с той же проблемой, что и ОП. Он принимал мои старые учетные данные Git, хранящиеся где-то в системе, и я хотел использовать Git с моими новыми учетными данными, поэтому я запустил команду
$ git config --system --list
Он показал
credential.helper=manager
всякий раз, когда я выполнял git push
это было мое старое имя пользователя, которое я установил давно, и я хотел использовать новую учетную запись GitHub для внесения изменений. Позже я обнаружил, что мои старые учетные данные учетной записи GitHub хранятся под
Панель Управления → Учетные Записи Пользователей → Диспетчер Учетных Данных → Управление Учетными Данными Windows.
Я просто удалил эти учетные данные и когда я выполнил git push
он попросил у меня мои учетные данные GitHub, и это сработало как шарм.
попробуйте использовать следующую команду.
git credential-manager
здесь вы можете получить различные опции для управления учетными данными (проверьте экран ниже).
или вы даже можете напрямую попробовать этот команду:
git credential-manager uninstall
это снова начнет запрашивать пароли для каждого запроса взаимодействия с сервером.
в моем случае Git использует Windows для хранения учетных данных.
все, что вам нужно сделать, это удалить сохраненные учетные данные, хранящиеся в вашей учетной записи Windows:
Я нашел то, что работал для меня. Когда я писал свой комментарий к OP, мне не удалось проверить файл конфигурации системы:
git config --system -l
показывает
credential.helper=!github --credentials
линии. Я снимаю его с
git config --system --unset credential.helper
и теперь учетные данные будут забыты.
git config --list
покажет credential.helper = manager
(это на машине windows)
чтобы отключить это кэшированное имя пользователя / пароль для текущей локальной папки git, просто введите
git config credential.helper ""
таким образом, git будет запрашивать пароль каждый раз, игнорируя то, что сохраняется внутри "менеджер".
необходимо войти в систему с соответствующим github username
и password
чтобы очистить имя пользователя и пароль в windows
Панель Управления\Учетные Записи Пользователей\Диспетчер Учетных Данных
редактировать учетные данные windows
удалите существующего пользователя и теперь перейдите в командную строку напишите команду push, она показывает всплывающее окно github для ввода username
/email
и password
.
теперь мы можем нажать кода после переключение пользователей.
В Windows 2003 Server с "wincred" * ни один из других ответов мне не помог. Мне пришлось использовать cmdkey
.
-
cmdkey /list
выводит список всех сохраненных учетных данных. -
cmdkey /delete:Target
удаляет учетные данные с именем" Target".
(*под "wincred" я имею в виду git config --global credential.helper wincred
)
удалите эту строку из вашей .файл gitconfig, расположенный в текущей папке пользователя Windows:
[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"
это сработало для меня, и теперь, когда я нажимаю на пульт, он снова запрашивает мой пароль.
Вы можете удалить строку credential.helper=!github --credentials
из файла C:\Program Files\Git\mingw64\etc\gitconfig
для удаления учетных данных для git
в случае диспетчер учетных данных Git для Windows используется (что обычно делают текущие версии):
git credential-manager clear
Это добавлена середина 2016. Чтобы проверить, используется ли диспетчер учетных данных:
git config --global credential.helper
→ manager
в моем случае я не смог найти учетные данные, сохраненные в Диспетчере учетных данных Windows (Windows 7).
я смог сбросить свои учетные данные, выполнив
git config --global credential.helper wincred
честно говоря, это был град Марии, чтобы увидеть, если это уничтожит мои учетные данные, и это действительно сработало.
- на
C:\Users\<current-user>
- проверить
- удалить содержимое или изменить в соответствии с вашим требованием
- перезагрузите терминал
в нашем случае, очистка пароля пользователя .файл git-credentials работал для нас.
c:\users\[username]\.git-credentials
вы должны обновить его в своем менеджере учетных данных.
перейдите в Панель управления > Учетные записи пользователей > диспетчер учетных данных > учетные данные Windows. Вы увидите учетные данные Git в списке (например, git:https://). Нажмите на него, обновите пароль и выполните команду git pull/push с Вашего Git bash, и он больше не будет бросать сообщения об ошибках.
что, наконец, исправило это для меня, было использовать GitHub desktop, перейти к настройкам репозитория и удалить user:pass@ из url репозитория. Затем я попытался нажать из командной строки и получил запрос на учетные данные для входа. После того, как я их положила, все вернулось в норму. И Visual Studio, и командная строка работают, и, конечно же, GitHub desktop.
GitHub Desktop - >репозиторий - > настройки репозитория - >Удаленная вкладка
изменить Основной удаленный репозиторий (origin) от:
https://pork@muffins@github.com/MyProject/MyProject.git
в:
https://github.com/MyProject/MyProject.git
Нажать Кнопку "Сохранить"
учетные данные будут очищены.
используя последнюю версию git для Windows на Windows 10 Professional, и у меня была аналогичная проблема, в которой у меня есть две разные учетные записи GitHub, а также учетная запись Bitbucket, поэтому все стало немного запутанным для VS2017, расширений git и Git bash.
Я сначала проверил, как git обрабатывал мои учетные данные с помощью этой команды (запустите git bash с повышенными командами или вы получите ошибки):
git config --list
Я нашел менеджер учетных данных записи, поэтому я нажал кнопку "Пуск" > набрал Credential Manager и щелкните левой кнопкой мыши значок Credential manager yell safe, который запустил приложение. Затем я нажал на вкладки учетных данных Windows и нашел запись для моей текущей учетной записи git, которая оказалась Bitbucket, поэтому я удалил эту учетную запись.
но это не сделало трюк, поэтому следующим шагом было снять учетные данные, и я сделал это из каталога репозитория на моем ноутбуке, который содержит проект GitHub, который я пытаюсь подтолкнуть к удаленному. Я напечатал следующее: команда:
git config --system --unset credential.helper
затем я сделал git push, и мне было предложено ввести имя пользователя GitHub, которое я ввел (правильный, который мне нужен), а затем связанный пароль, и все было правильно нажато.
Я не уверен, насколько это проблема, большинство людей, вероятно, работают с одним РЕПО, Но я должен работать с несколькими и использовать разных поставщиков, поэтому может возникнуть эта проблема снова.
получил ту же ошибку при выполнении "git pull", и вот как я ее исправил.
- изменить РЕПО на HTTPS
- выполнить команду ' git config --system --unset credential.helper'
- выполнить команду ' git config --system --add credential.helpder manager'
- тестовая команда 'git pull'
- введите учетные данные в появившемся окне входа в систему.
- git pull успешно завершен.
Если вы аутентифицируетесь с помощью пары ключей, вы можете удалить или переместить закрытый ключ или остановить агент ключей и попробовать.