好的,所以这是场景,
我让 user1 登录到我的终端以获取 bitbucket 帐户。
我已经登录了
$ git config --global user.name "user1"
$ git config --global user.email "user1@gmail.com"
我能够做到commit
,push
完美。
现在我在 bitbucket 上有了另一个帐户,其中包含 user2 的另一个电子邮件 ID。
所以我像这样登录:
$ git config --global user.name "user2"
$ git config --global user.email "user2@gmail.com"
但是现在当我做git push origin master
时,我收到以下错误。
fatal: Authentication failed for 'https://user2@bitbucket.org/user3/test.git/'
所以我从我的 Ubuntu 14.04 中完全卸载了git
,然后再次安装并再次登录。但即便如此,也会遇到同样的问题。
如何避免该错误消息?
user.name
和user.email
本地配置与托管服务器身份验证的 git 存储库无关。它仅用于提交时的提交者/作者身份。
如果您使用的是https url,则意味着您需要使用BitBucket登录名和密码。
如果有一个 BitBucket 帐户 'user2
',那么它的 BitBucket 密码将足以通过身份验证(他/她需要成为 user3 项目中的协作者才能拥有推送权限)
确保密码中没有特殊字符,否则必须对其进行百分比编码。
我的问题是我使用的是https而不是ssh,在那之后,一切都对我有用。
我遇到了同样的问题!即使在提供正确的密码后,它也会显示相同的错误。
溶液
步骤:只需检查您的通票是否正确。 如果正常,请检查您对该存储库具有正确的权限。(我遇到了权限问题并使用步骤解决了)
我的一台电脑也有类似的问题。我能够通过在文件~/.gitconfig
中注释/删除这些行来解决问题
[url "https://:@repo.zzz.xxx"]
insteadOf = https://repo.zzz.xxx