我正在使用几个存储库,但最近我只在我们的内部存储库中工作,一切都很好。

今天我不得不提交并将代码推到另一个,但我遇到了一些麻烦。

$ 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配置——global——unset core.askpass

以便取消设置密码

Git配置凭证。Helper '缓存超时=1'

为了避免凭证缓存…

似乎什么都不管用;谁有更好的主意?


当前回答

当上面提到的方法对你都不起作用时,试试这个方法。

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

这将每隔3秒删除缓存,并询问用户名和密码。可以重新运行增加超时值的命令。

其他回答

当上面提到的方法对你都不起作用时,试试这个方法。

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

这将每隔3秒删除缓存,并询问用户名和密码。可以重新运行增加超时值的命令。

在我的例子中,Git使用Windows存储凭据。

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

我遇到了与op相同的问题。它正在取我存储在系统某处的旧Git凭据,而我想将Git与我的新凭据一起使用,所以我运行了该命令

$ git config --system --list

它显示

credential.helper=manager

每当我执行git推送时,它都会使用我的旧用户名,我设置了很久,我想使用新的GitHub帐户来推送更改。我后来发现我的旧GitHub帐户凭据存储在 控制面板→用户帐户→凭证管理器→管理Windows凭证。

我只是删除了这些凭据,当我执行git推送时,它要求我提供我的GitHub凭据,它就像一个魅力。

这种方法对我来说是有效的,并且不受操作系统的影响。这有点笨拙,但很快,让我重新输入凭证。

只需找到您希望重新输入凭据的远程别名。

$ git remote -v 
origin  https://bitbucket.org/org/~username/your-project.git (fetch)
origin  https://bitbucket.org/org/~username/your-project.git (push)

复制项目路径(https://bitbucket.org/org/~username/your-project.git)

然后取下遥控器

$ git remote remove origin

然后再加回去

$ git remote add origin https://bitbucket.org/org/~username/your-project.git

最终为我解决这个问题的是使用GitHub桌面,进入存储库设置,并从存储库url中删除user:pass@。然后,我尝试从命令行推送,并提示输入登录凭据。我把它们放进去之后,一切都恢复正常了。Visual Studio和命令行都可以工作,当然还有GitHub桌面。

GitHub Desktop->Repository->Repository Settings->Remote选项卡

将主远程存储库(origin)更改为:

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

To:

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

点击“保存”

凭证将被清除。