Удаление учетных данных из Git

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

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

$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

Я ничего не могу сделать, чтобы снова ввести пароль.

Как я могу reset учетные данные в моей системе, чтобы Git запросил у меня пароль этого репозитория?

Я пробовал:

  • git config --global --unset core.askpass

чтобы отключить пароль

  • git config credential.helper 'cache --timeout=1'

чтобы избежать кэширования учетных данных...

Ничто не работает; кто-нибудь имеет лучшую идею?

Ответы

Ответ 1

Кэш учетных данных Git запускает процесс демона, который кэширует ваши учетные данные в памяти и передает их по требованию. Таким образом, уничтожение вашего процесса git -credential-cache-daemon выкидывает все это и приводит к повторному запросу вашего пароля, если вы продолжаете использовать его как параметр cache.helper.

Вы также можете отключить использование кэша учетных данных Git, используя git config --global --unset credential.helper. Затем reset это, и вы будете продолжать использовать кэшированные учетные данные для других репозиториев (если они есть). Вам также может потребоваться сделать git config --system --unset credential.helper, если это было установлено в файле конфигурации системы (например, Git для Windows 2).

В Windows вам может быть лучше использовать помощник менеджера (git config --global credential.helper manager). Это хранит ваши учетные данные в хранилище учетных данных Windows, в котором есть интерфейс панели управления, где вы можете удалить или изменить сохраненные учетные данные. В этом магазине ваши данные защищены вашим регистрационным именем Windows и могут сохраняться в течение нескольких сеансов. Помощник менеджера, включенный в Git для Windows 2.x, заменил более раннего помощника wincred, который был добавлен в Git для Windows 1.8.1.1. Аналогичный помощник, называемый winstore, также доступен в Интернете и использовался с GitExtensions, поскольку он предлагает интерфейс с интерфейсом GUI. Помощник менеджера предлагает тот же интерфейс графического интерфейса, что и winstore.

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

Откройте учетные записи пользователей, нажав кнопку "Пуск" Рисунок кнопки "Пуск", выбрав "Панель управления", "Учетные записи пользователей и семейная безопасность" (или "Учетные записи пользователей", если вы подключены к сетевому домену), а затем "Учетные записи пользователей". На левой панели нажмите "Управление вашими учетными данными".

Ответ 2

Если эта проблема возникает на компьютере под управлением Windows, выполните следующие действия.

  • Перейти в Диспетчер учетных данных
  • Перейдите в учетные данные Windows
  • Удалить записи в разделе Общие учетные данные
  • Попробуйте снова подключиться. На этот раз он должен указать правильное имя пользователя и пароль.

Перейти в Диспетчер учетных данных

Перейдите в учетные данные Windows и удалите записи из общих учетных данных

Ответ 3

Retype:

$ git config credential.helper store

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

Внимание

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

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

Ответ 4

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

$ git config --system --list

Это показало

credential.helper=manager

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

Manage Windows Credentials

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

Ответ 5

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

git credential-manager

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

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

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

git credential-manager uninstall

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

Ответ 6

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

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

Меню учетных данных Windows

Ответ 7

Я нашел кое-что, что сработало для меня. Когда я написал свой комментарий к OP, я не смог проверить файл конфигурации системы:

git config --system -l

показывает a

credential.helper=!github --credentials

линии. Я отключил его с помощью

git config --system --unset credential.helper

и теперь учетные данные забываются.

Ответ 8

git config --list

отобразит credential.helper = manager (это на машине Windows)

Чтобы отключить это кэшированное имя пользователя/пароль для текущей локальной папки git, просто введите

git config credential.helper ""

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

Ответ 9

В Windows 2003 Server с "wincred" * ни один из других ответов не помог мне. Мне пришлось использовать cmdkey.

  • cmdkey/list перечисляет все сохраненные учетные данные.
  • cmdkey/delete:Target удаляет учетные данные с именем "Target".

cmdkey /list; cmdkey /delete:Target

(* По "wincred" я имею в виду git config --global credential.helper wincred)

Ответ 10

Необходимо войти в систему с соответствующим username и password github

Очистить имя пользователя и пароль в окнах

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

Редактирование учетных данных Windows

Удалите существующего пользователя и теперь перейдите в командную строку, напишите команду push, чтобы отобразить всплывающее окно github, чтобы ввести username/email и password.

Теперь мы можем нажать код после переключения пользователя.

Ответ 11

Удалите эту строку из файла .gitconfig, находящегося в текущей пользовательской папке Windows:

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

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

Ответ 12

Получилась та же ошибка при выполнении 'git pull', и именно так я это исправил.

  1. Изменить репо на HTTPS
  2. Запустите команду git config --system --unset credential.helper
  3. Запустите команду git config --system --add credential.helper manager
  4. Тестовая команда git pull
  5. Введите учетные данные в открывшемся окне входа.
  6. Git pull успешно завершен.

Ответ 13

Вы можете удалить строку credential.helper=!github --credentials из следующего файла C:\Program Files\Git\mingw64\etc\gitconfig, чтобы удалить учетные данные для git

Ответ 15

В моем случае я не смог найти учетные данные, сохраненные в диспетчере учетных данных Windows (Windows 7).

Я смог reset мои учетные данные, выполнив

git config --global credential.helper wincred

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

Ответ 16

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

Ответ 17

Вы должны обновить его в своем Диспетчере учетных данных.

Перейдите в Панель управления> Учетные записи пользователей> Диспетчер учетных данных> Учетные данные Windows. Вы увидите учетные данные Git в списке (например, git: https://). Нажмите на нее, обновите пароль и выполните команду git pull/push из своего Git bash, и он больше не будет вызывать сообщения об ошибках.

Ответ 18

Эта ошибка появляется, когда вы используете несколько учетных записей Git на одном компьютере.

Если вы используете macOS, вы можете удалить сохраненные учетные данные github.com.

Пожалуйста, следуйте приведенным ниже инструкциям, чтобы удалить учетные данные github.com.

  1. Открытый доступ к брелку
  2. Найти GitHub
  3. Выберите github.com и щелкните по нему правой кнопкой мыши.
  4. Удалить "github.com"
  5. Попробуйте еще раз нажать или потяните, чтобы git, и он попросит учетные данные.
  6. Введите действительные учетные данные для учетной записи репозитория.
  7. Готово

    enter image description here

Ответ 19

Использование последней версии git для Windows в Windows 10 Professional, и у меня была аналогичная проблема, в которой у меня есть две разные учетные записи GitHub, а также учетная запись Bitbucket, поэтому все немного запуталось в VS2017, git-расширениях и git-bash.

Сначала я проверил, как git обрабатывает мои учетные данные с помощью этой команды (запустите git bash с повышенными командами или вы получите ошибки):

git config --list

Я нашел учетную запись Credential Manager, поэтому я нажал кнопку "СТАРТ"> набрал "Диспетчер учетных данных" и нажал левой кнопкой мыши на значке безопасного значка администратора, который запустил приложение. Затем я нажал вкладки учетных данных Windows и нашел запись для моей текущей учетной записи git, которая оказалась Bitbucket, поэтому я удалил эту учетную запись.

Но это не помогло, поэтому следующим шагом было сбросить учетные данные, и я сделал это из каталога репозитория на моем ноутбуке, который содержит проект GitHub, который я пытаюсь нажать на пульт. Я набрал следующую команду:

git config --system --unset credential.helper

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

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

Ответ 20

Reset пароля в диспетчере учетных данных отсортировано для меня

Ответ 21

В нашем случае мы очистили пароль в файле .git-credentials пользователя.

c:\users\[username]\.git-credentials

Ответ 22

Наконец, для этого я решил использовать рабочий стол GitHub, перейти к настройкам репозитория и удалить пользователя: передать @из URL-адреса репозитория. Затем я попытался нажать из командной строки и был запрошен учетные данные для входа. После того, как я поместил их, все вернулось к нормальной жизни. Работают как Visual Studio, так и командная строка, и, конечно же, рабочий стол GitHub.

GitHub Desktop-> Репозиторий-> Репозиторий Settings-> Удаленная вкладка

Изменить первичный удаленный репозиторий (источник):

https://[email protected]@github.com/MyProject/MyProject.git

Для того, чтобы:

https://github.com/MyProject/MyProject.git

Нажмите "Сохранить".

Учетные данные будут очищены.

Ответ 23

Как упоминалось каждым выше, это проблема с Git Credential Manager. Из-за разрешений я не смог изменить свои учетные данные или манипулировать менеджером учетных данных. Я также не мог позволить себе сидеть в текстовом формате на ПК. Обходной путь заключался в удалении удаленной ветки в intellij и повторной добавлении удаленной ветки. Это удаляет сохраненные учетные данные и принудительно обновляет учетные данные.

enter image description here

Ответ 24

Для пользователей MacOS:

Эта ошибка появляется, когда вы используете несколько учетных записей Git на одном компьютере.

Пожалуйста, следуйте приведенным ниже инструкциям, чтобы удалить учетные данные github.com.

  1. Перейти к Finder
  2. Перейти к приложениям
  3. Перейти в папку "Утилиты"
  4. Открытый доступ к брелку
  5. Выберите github.com и щелкните по нему правой кнопкой мыши.

    Удалить "github.com"

Попробуйте еще раз нажать или потяните, чтобы git, и он попросит учетные данные. Введите действительные учетные данные для учетной записи репозитория. Готово

Ответ 25

Построение ответа @patthoyts с высоким рейтингом (fooobar.com/questions/4883/...):

Его ответ использует, но не объясняет конфиги "локальный" или "глобальный" или "системный". Официальная документация по git для них здесь и стоит прочитать.

Например, я работаю в Linux и не использую конфигурацию системы, поэтому я никогда не использую флаг --system, но обычно нужно различать --local и --global.

Мой вариант использования - у меня есть два идентификатора Github; один для работы, а другой для игры.

Вот как бы я справился с проблемой:

$ cd work
# do and commit work
$ git push origin develop
# Possibly prompted for credentials if I haven't configured my remotes to automate that. 
# We're assuming that now I've stored my "work" credentials with git credential helper.

$ cd ~/play 
# do and commit play
$ git push origin develop                                                                   
remote: Permission to whilei/specs.git denied to whilei.                
fatal: unable to access 'https://github.com/workname/specs.git/': The requested URL returned error: 403

# So here where it goes down:
$ git config --list | grep cred
credential.helper=store # One of these is for _local_
credential.helper=store # And one is for _global_

$ git config --global --unset credential.helper
$ git config --list | grep cred
credential.helper=store # My _local_ config still specifies 'store'
$ git config --unset credential.helper
$ git push origin develop
Username for 'https://github.com': whilei
Password for 'https://[email protected]':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.10 KiB | 1.10 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/whilei/specs.git
   b2ca528..f64f065  master -> master

# Now let turn credential-helping back on:
$ git config --global credential.helper "store"
$ git config credential.helper "store"
$ git config --list | grep cred
credential.helper=store # Put it back the way it was.
credential.helper=store

Стоит также отметить, что есть способы вообще избежать этой проблемы, например, вы можете использовать ~/.ssh/config со связанными SSH-ключами для Github (один для работы, один для игры) и соответственно именованные удаленные хосты для решения аутентификация тоже контекстуализируется.

Ответ 26

Чтобы очистить кэш Git Credentials Managers для Windows:

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

или же

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache

Ответ 27

В Windows, по крайней мере, будет работать git remote show [remote-name], например

git remote show origin

Ответ 28

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