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

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


当前回答

对于那些正在寻找如何重置对存储库的访问的人。以GitHub为例。您可以更改您的GitHub配置文件密码,并在配置文件的“设置->开发人员设置”中撤销所有“个人访问令牌”。此外,您还可以选择擦除所有SSH/PGP密钥和OAuth/GitHub应用程序,以确保对存储库的访问完全被阻止。因此,任何系统上的所有凭据管理器在授权时都会失败,并提示您输入新的凭据。

其他回答

我试了所有方法,但都没用。然后下面的方法起作用了。

在进行上述任何步骤之前,再次锁定和解锁钥匙链,因为有时它会卡住。 安装GitHub桌面-它有帮助。

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

对于Mac

如果你有多个远程存储库(Github, Bitbucket, Job等)

1)在项目目录下运行

git config --unset user.password

2)执行远程git命令。Git推还是Git拉)

Git将提示您重新输入user.name和user。此存储库的密码

如果只有一个远程存储库,也可以全局执行

git config --global --unset user.password

您可以在2个地方通过命令行更改密码,下面将编辑凭证以连接repo

git config --edit 

凭据也可以在全局中使用如下所示的全局参数进行更改

 git config --global --add user.password "XXXX"

或将凭据助手设置为

git config --global credential.helper wincred

但如果你有回购级别的凭据设置使用第一个命令

git config --edit

如果你的凭据存储在凭据助手中,移除特定主机的密码持久化的可移植方法是调用git credential reject:

$ git credential reject
protocol=https
host=bitbucket.org
⏎

or

$ git credential reject
url=https://bitbucket.org
⏎

然后,输入git fetch来输入新密码。