Удаление учетных данных из 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
  • удалить записи в разделе Общие учетные данные
  • повторите попытку подключения. На этот раз он должен запросить у вас правильное имя пользователя и пароль.

Go to Credential Manager

Go to Windows Credentials and Delete the entries under Generic Credentials


введите:

$ git config credential.helper store

и затем вам будет предложено снова ввести свои учетные данные.

предупреждение

использование этого помощника сохранит ваши пароли незашифрованными на диске

источник:https://git-scm.com/docs/git-credential-store


я столкнулся с той же проблемой, что и ОП. Он принимал мои старые учетные данные Git, хранящиеся где-то в системе, и я хотел использовать Git с моими новыми учетными данными, поэтому я запустил команду

$ git config --system --list

Он показал

credential.helper=manager

всякий раз, когда я выполнял git push это было мое старое имя пользователя, которое я установил давно, и я хотел использовать новую учетную запись GitHub для внесения изменений. Позже я обнаружил, что мои старые учетные данные учетной записи GitHub хранятся под Панель УправленияУчетные Записи ПользователейДиспетчер Учетных ДанныхУправление Учетными Данными Windows.

Manage Windows Credentials

Я просто удалил эти учетные данные и когда я выполнил git push он попросил у меня мои учетные данные GitHub, и это сработало как шарм.


попробуйте использовать следующую команду.

git credential-manager

здесь вы можете получить различные опции для управления учетными данными (проверьте экран ниже).

Enter image description here

или вы даже можете напрямую попробовать этот команду:

git credential-manager uninstall

это снова начнет запрашивать пароли для каждого запроса взаимодействия с сервером.


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

все, что вам нужно сделать, это удалить сохраненные учетные данные, хранящиеся в вашей учетной записи Windows:

Windows credentials menu


Я нашел то, что работал для меня. Когда я писал свой комментарий к 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".

cmdkey /list; cmdkey /delete: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

честно говоря, это был град Марии, чтобы увидеть, если это уничтожит мои учетные данные, и это действительно сработало.


  1. на C:\Users\<current-user>
  2. проверить
  3. удалить содержимое или изменить в соответствии с вашим требованием
  4. перезагрузите терминал

в нашем случае, очистка пароля пользователя .файл 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", и вот как я ее исправил.

  1. изменить РЕПО на HTTPS
  2. выполнить команду ' git config --system --unset credential.helper'
  3. выполнить команду ' git config --system --add credential.helpder manager'
  4. тестовая команда 'git pull'
  5. введите учетные данные в появившемся окне входа в систему.
  6. git pull успешно завершен.

Если вы аутентифицируетесь с помощью пары ключей, вы можете удалить или переместить закрытый ключ или остановить агент ключей и попробовать.