it-swarm.xyz

Удалить учетные данные из 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'

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

Ничто не похоже на работу; у кого-нибудь есть идея получше?

359
balexandre

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

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

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

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

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

435
patthoyts

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

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

 Go to Credential Manager

 Go to Windows Credentials and Delete the entries under Generic Credentials

347
Venkataramana Madugula

Повторите:

$ git config credential.helper store

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

WARNING

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

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

127
aaafly

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

$ git config --system --list

Показало

credential.helper=manager

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

 Manage Windows Credentials

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

52
Mourya

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

git credential-manager

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

 Enter image description here

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

git credential-manager uninstall

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

36
Himanshu Aggarwal

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

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

 Windows credentials menu

25
SoliQuiD

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

git config --system -l

показывает

credential.helper=!github --credentials

линия. Я снял это с

git config --system --unset credential.helper

и теперь учетные данные забыты.

21
damix911
git config --list

покажет credential.helper = manager (это на машине с Windows)

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

git config credential.helper ""

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

12
Zhe Hu

В Windows 2003 Server с «wincred» * ни один из других ответов не помог мне. Я должен был использовать cmdkey .

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

 cmdkey /list; cmdkey /delete:Target

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

10
ericbn

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

Очистить логин и пароль в windows 

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

Изменить Windows Credential  

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

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

9
Amit K

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

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

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

7
Liviu M.

В случае используется Git Credential Manager для Windows (что обычно делают текущие версии):

git credential-manager clear

Это было добавлено в середине 2016 года . Чтобы проверить, используется ли менеджер учетных данных:

git config --global credential.helper
→ manager
6
Simon A. Eugster

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

6
Yoan Pumar

Получилась та же ошибка при выполнении '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 успешно завершен.
5
Amer Bashoeb

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

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

git config --global credential.helper wincred

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

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

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

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

4
ChiragBhalgami

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

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

Выполните следующие действия, чтобы удалить учетные данные github.com.

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

     enter image description here

3
Pratik Patel

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

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

git config --list

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

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

git config --system --unset credential.helper

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

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

2
Tahir Khalid

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

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

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

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

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

https: //pork@muffins@github.com/MyProject/MyProject.git

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

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

Нажмите «Сохранить»

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

0
Nick Pirocanac

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

git remote show Origin
0
Jason S

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

 enter image description here

0
Akin Okegbile

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

git config credential.helper 'cache --timeout=30'

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

0
manish kumar

Построение из ответа @ patthoyts с высоким рейтингом ( https://stackoverflow.com/a/15382950/4401322 ):

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

Например, я работаю в Linux и не использую конфигурацию system, поэтому я никогда не использую флаг --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's 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's 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://whilei@github.com':
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's 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 (один для работы, другой для игры) и соответственно именованных удаленных хостов для решения контекстной аутентификации.

0
irbanana

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

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

или же

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache
0
Chris F Carroll

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

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

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

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

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

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

0
curiousneuron