从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 

没有什么可以做的,那会再次input密码。

我怎样才能重置我的系统上的凭据,所以Git会问我的存储库的密码?

我努力了:

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

为了取消密码

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

为了避免凭据caching… … –

似乎没有任何工作; 有没有人有更好的主意?

Git凭证caching运行一个守护进程,将您的凭证caching在内存中,并按需提供。 因此,如果您继续使用此选项作为cache.helper选项,那么杀死您的git-credential-cache-daemon进程将抛出所有这些进程并导致重新提示您input密码。

你也可以使用git config --global --unset credential.helper禁用Git凭证caching。 然后重置这个,你会继续有caching的凭据可用于其他存储库(如果有的话)。 如果已经在系统configuration文件(例如,Git for Windows 2)中设置了这个git config --system --unset credential.helper你可能还需要做git config --system --unset credential.helper

在Windows上,使用pipe理员帮手( git config --global credential.helper manager )可能会更好。 这将您的凭据存储在Windows凭据存储中,该存储具有控制面板界面,您可以在其中删除或编辑存储的凭据。 有了这个商店,您的详细信息将通过您的Windowslogin保护,并可以保留多个会话。 包含在Git for Windows 2.x中的经理助手已经replace了Git for Windows 1.8.1.1中添加的早期的wincred助手。 一个名为winstore的类似帮助程序也可以在线获得,并与GitExtensions一起使用,因为它提供了更多的GUI驱动的界面。 pipe理员帮手提供与winstore相同的GUI界面。

从详细介绍Windows凭据存储面板的Windows手册中摘录:

单击开始button的图片,单击控制面板,单击用户帐户和家庭安全(如果您连接到networking域,则单击用户帐户),然后单击用户帐户,打开用户帐户。 在左侧窗格中,点击pipe理您的凭据。

重新input:

 $ git config credential.helper store 

然后,系统会提示您再次input您的凭据。

警告

使用这个帮手将你的密码存储在磁盘上

来源: https : //git-scm.com/docs/git-credential-store

如果Windows计算机上出现此问题,请执行以下操作。

  • 去凭证经理
  • 转到Windows凭据
  • 删除通用凭证下的条目
  • 尝试再次连接。 这一次,它应该提示您input正确的用户名和密码。

去凭证经理

转到Windows凭据并删除通用凭证下的条目

尝试使用下面的命令。

 git credential-manager 

在这里你可以得到各种选项来pipe理你的凭证(检查下面的屏幕)。

在这里输入图像说明

或者你甚至可以直接尝试这个命令:

 git credential-manager uninstall 

这将开始在每个服务器交互请求上再次提示密码。

我发现了一些为我工作的东西。 当我给OP写评论时,我没有检查系统configuration文件:

 git config --system -l 

显示一个

 credential.helper=!github --credentials 

线。 我用它来解决它

 git config --system --unset credential.helper 

现在凭证忘记了。

我面临与OP相同的问题。 这是我的旧Git凭据存储在系统的某处,我想用我的新凭据使用Git,所以我运行命令

 $ git config --system --list 

它显示

 credential.helper=manager 

每当我执行git push时候,我git push旧的用户名设置回来,我想用新的GitHub帐户来推送更改。 后来我发现我的旧GitHub帐户凭据存储在控制面板用户帐户凭证pipe理器pipe理Windows凭据

管理Windows凭据

我刚刚删除了这些凭据,当我执行git push它向我询问了我的GitHub凭证,它的function就像一个魅力。

在我的情况下,Git使用Windows来存储凭据。

您所要做的就是删除存储在您的Windows帐户中的存储凭据:

Windows凭据菜单

从位于Windows当前login的用户文件夹中的.gitconfig文件中删除此行:

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

这对我和现在当我推远程它再次要求我的密码。

您可以从以下文件C:\ Program Files \ Git \ mingw64 \ etc \ gitconfig中删除行credential.helper =!github –credentials,以便删除git的凭据

在我的情况下,我找不到在Windows Credential Manager(Windows 7)中保存的凭据。

我能够通过执行重置我的凭据

 git config --global credential.helper wincred 

这真的是一个冰雹玛丽,看看它是否会消灭我的凭据,它实际上工作。

在“wincred”*的Windows 2003 Server中,没有其他答案帮助了我。 我不得不使用cmdkey

  • cmdkey /list列出所有存储的凭证。
  • cmdkey /delete:Target使用“目标”名称删除凭证。

cmdkey / list; cmdkey / delete:目标

(*“wincred”我的意思是git config --global credential.helper wincred

 git config --list 

将显示credential.helper = manager (这是在Windows机器上)

要为当前的本地git文件夹禁用此caching的用户名/密码,只需input

 git config credential.helper "" 

这样,git每次都会提示input密码,忽略“manager”里面保存的内容。

在我们的例子中,清除用户的.git-credentials文件中的密码为我们工作。

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

Credentialpipe理器中的密码重置对我进行了整理

如果使用密钥对进行身份validation,则可以删除或移动私钥,或者停止密钥代理并尝试。