git pull
访问我的Bitbucket帐户上的私有存储库。Git弹出了一个Bitbucket身份验证对话框。它有两个选项:通过浏览器进行身份验证或使用密码进行身份验证。我首先尝试了密码选项。我使用了我的Bitbucket用户名和新创建的应用程序密码。我能够访问存储库。
但是当我尝试相同的命令时,它再次弹出身份验证对话框。我一遍又一遍地重复这些步骤。每次都允许我访问存储库,但似乎未保存凭据。
我在Windows中打开了凭据管理器,并看到了
git:https://bitbucket.org
的凭据。我尝试再次访问仓库,但这次我选择了使用浏览器进行身份验证的选项。它将我发送到某个网页,由于我已经在Bitbucket网站上登录,它显示我已经通过身份验证。我能够访问存储库。现在,我可以每次访问存储库时都无需进行身份验证对话框。
请注意,如果我创建GitHub个人访问令牌并在身份验证对话框中输入它,Git似乎会保存它,因此我不需要每次输入它。
为什么Bitbucket没有存储我的凭据?为什么它要求我通过浏览器进行身份验证?如果我被迫通过浏览器进行身份验证,那么拥有应用程序密码的意义是什么?这种特定情况的文档在哪里?
在使用Git for Windows中的“连接到Bitbucket”身份验证对话框中的两个选项之一进行浏览器身份验证后,我能够在Windows 10命令提示符上继续使用Git而无需进一步身份验证。但是,当我切换到PowerShell时,整个过程又再次发生:每次尝试执行git push
等操作时,都会出现身份验证对话框。每次我都可以选择“密码”选项,并使用我的应用程序密码成功通过身份验证,但它从未保存密码,需要我每次重新输入密码。因此,我再次选择了对话框中的“浏览器”选项;它将我带到一个Bitbucket网页,该网页显示(因为我已经登录):
现在,我可以使用“浏览器”进行身份验证,从PowerShell轻松地执行身份验证成功 Git凭据管理器已成功验证。您现在可以关闭此页面。
git push
等操作。因此,问题仍然存在:为什么Bitbucket针对Git for Windows的身份验证对话框使用已保存的应用程序密码,而不是要求我每次重新输入密码?(请注意,我已更新为Git for Windows 2.37.2.windows.2。)