我使用BitBucket与Xcode和Git进行版本控制,最近我更改了我所有的密码(感谢Adobe!)
不出意外,我不能再把我的本地提交推到我在BitBucket上的存储库(“https://______.git”认证失败),但我忘记了如何更新iMac上缓存的密码。不知何故,我一直无法在谷歌或Stack Overflow上找到它,尽管在我看来它应该是相当直接的…
我使用BitBucket与Xcode和Git进行版本控制,最近我更改了我所有的密码(感谢Adobe!)
不出意外,我不能再把我的本地提交推到我在BitBucket上的存储库(“https://______.git”认证失败),但我忘记了如何更新iMac上缓存的密码。不知何故,我一直无法在谷歌或Stack Overflow上找到它,尽管在我看来它应该是相当直接的…
当前回答
如果你的凭据存储在凭据助手中,移除特定主机的密码持久化的可移植方法是调用git credential reject:
$ git credential reject
protocol=https
host=bitbucket.org
⏎
or
$ git credential reject
url=https://bitbucket.org
⏎
然后,输入git fetch来输入新密码。
其他回答
在Terminal执行以下步骤:
删除保存在Mac中的当前密码 Git配置——global——取消设置user.password 使用此命令添加您的新密码,替换为您的新密码: Git配置——global——添加用户。密码< new_pass >
只需从任何存储库中提取git,系统将提示您输入新密码。
在MacOS Big Sur 11.3.1上,其他答案都不适合我
我在Github上启用了双因素身份验证,这使得你在输入用户名和密码时即使他们是正确的也会失败。
以下是我必须做的:
Git配置——global——取消设置user.password
然后运行你的git命令(例如git push)并输入你的用户名。 对于密码,您需要生成一个个人访问令牌。
访问https://github.com/settings/profile,选择右边的开发者设置。Select Personal Access Token生成新的Token。复制生成的令牌,并将其作为终端的密码。
如果你是MAC用户,那么你可以从finder打开KeyChain访问应用程序,然后寻找你列出的帐户。只需点击它并更新你的密码。 现在试一试,一切都会迎刃而解。
链接参考:更新您的凭证通过钥匙链访问
这个问题很混乱,因为这个问题太复杂了。首先是MacOS vs Win10。然后是不同的认证机制。
我将在这里开始一个统一的答案,可能需要一些帮助,如果我没有得到帮助,我会继续研究答案,直到它完成,但这需要时间。
Windows 10: |
|-- Run this command. You will be prompted on next push/pull to enter username and password:
| git config --global credential.helper wincred (Thanks to @Andrew Pye)
` MacOS:
|
|-- 1. Using git config to store username and password:
| git config --global --add user.password
|
|---- 1.1 first time entry
| git config --global --add user.password <new_pass>
|
|---- 1.2 password update
| git config --global --unset user.password
| git config --global --add user.password <new_pass>
|
|-- 2. Using keychain:
| git config --global credential.helper osxkeychain
|
|---- 2.1 first time entry
| Terminal will ask you for the username and password. Just enter it, it will be
| stored in keychain from then on.
|
|---- 2.2 password update
| Open keychain, delete the entry for the repository you are trying to use.
| (git remote -v will show you)
| On next use of git push or something that needs permissions, git will ask for
| the credentials, as it can not find them in the keychain anymore.
`