我使用BitBucket与Xcode和Git进行版本控制,最近我更改了我所有的密码(感谢Adobe!)

不出意外,我不能再把我的本地提交推到我在BitBucket上的存储库(“https://______.git”认证失败),但我忘记了如何更新iMac上缓存的密码。不知何故,我一直无法在谷歌或Stack Overflow上找到它,尽管在我看来它应该是相当直接的…


当前回答

如果您正在使用github并启用了2因素身份验证,则需要输入个人访问令牌而不是密码

首先重置密码:

Git配置——global——取消设置user.password

然后,登录到你的github账户,在右上角,点击设置,然后是开发者设置。生成一个个人访问令牌。复制它。

git push

终端将提示您输入您的用户名:输入您的电子邮件地址。

在密码提示符下,输入个人访问令牌。

其他回答

在MacOS Sierra 10.12.4上,其他答案都不适用

以下是我必须做的:

git config --global --unset user.password

然后运行你的git命令(例如git push)并重新输入你的用户名和密码。

在MacOS Big Sur 11.3.1上,其他答案都不适合我

我在Github上启用了双因素身份验证,这使得你在输入用户名和密码时即使他们是正确的也会失败。

以下是我必须做的:

Git配置——global——取消设置user.password

然后运行你的git命令(例如git push)并输入你的用户名。 对于密码,您需要生成一个个人访问令牌。

访问https://github.com/settings/profile,选择右边的开发者设置。Select Personal Access Token生成新的Token。复制生成的令牌,并将其作为终端的密码。

在Windows 10中使用Git

删除/更新存储在>>控制面板\所有控制面板项\凭证管理器中的Windows凭证中的相关凭证

或者你可以使用搜索栏搜索“CredentialManager”或“Windows Credentials”,这应该会返回一个打开控制面板窗格的条目(至少对于英语用户来说)。

这个问题很混乱,因为这个问题太复杂了。首先是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.
`

只需克隆一个你现有的回购,这将提示你新的凭证: 如。

git clone https://myuser@bitbucket.org/mypath/myrepo.git

(其中https://myuser@bitbucket.org/mypath/myrepo.git是您现有的一个回购平台的地址)