从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正确的用户名和密码。
尝试使用下面的命令。
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凭据 。
我刚刚删除了这些凭据,当我执行git push
它向我询问了我的GitHub凭证,它的function就像一个魅力。
在我的情况下,Git使用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
使用“目标”名称删除凭证。
(*“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,则可以删除或移动私钥,或者停止密钥代理并尝试。