我正在使用带有 Xcode 和 Git 的 BitBucket 进行版本控制,最近我更改了所有密码(感谢 Adobe!)。
不出所料,我不再能够将本地提交推送到 BitBucket (Authentication failed for 'https://______.git'
) 上的存储库,但我忘记了如何更新 iMac 上的缓存密码。不知何故,我无法在 Google 或 Stack Overflow 上找到它,尽管在我看来它应该相当简单......
要在 macOS 上解决此问题,您可以使用
git config --global credential.helper osxkeychain
用户名和密码提示将出现在您的下一个 Git 操作(拉取、克隆、推送等)中。
对于 Windows,它是具有不同参数的相同命令:
git config --global credential.helper wincred
在 MacOS Sierra 10.12.4 上,没有其他答案对我有用
这是我必须做的:
git config --global --unset user.password
然后运行您的 git 命令(例如 git push
)并重新输入您的用户名和密码。
git pull
- Windows 弹出窗口出现提示输入密码。谢谢!
在带有 Git 的 Windows 10 中
在 >>Control Panel\All Control Panel Items\Credential Manager 中删除/更新存储在 Windows 凭据中的相关凭据
https://i.stack.imgur.com/UlNge.png
我可以修改我的 git 密码的唯一方法是转到 Windows 中的凭据管理器(Windows 键 + 输入“凭据”)并在 Windows 凭据🡒 通用凭据下编辑 git 条目。注:未按字母顺序列出
我遇到了同样的问题,并且接受的答案对我没有帮助,因为密码没有存储在钥匙串中。我输入:
git pull https://myuser@bitbucket.org/mypath/myrepo.git
然后控制台询问我的新密码。
在@Imran Javed 上面提到的 Windows 10 中,您可以在以下位置找到通用凭据:
控制面板\所有控制面板项\凭据管理器 --> Windows 凭据
找到您的 git 服务器,然后您可以通过单击编辑按钮来更新密码。
https://i.stack.imgur.com/uMjON.png
对于 Mac
如果您有多个远程存储库(Github、Bitbucket、Job 等)
1)在项目目录下运行
git config --unset user.password
2) 运行远程 git 命令(即 git push 或 git pull)
Git 将提示您为此存储库重新输入您的用户名和用户密码
或者,如果您只有一个远程存储库,则可以全局执行
git config --global --unset user.password
如果您是 MAC 用户,那么您可以从 finder 打开 KeyChain Access Application,然后在此处查找您的帐户。只需单击它并更新您的密码。现在试一试,事情就会落实到位。
参考链接:Updating your credentials via Keychain Access
在 MacOS Big Sur 11.3.1 上,没有其他答案对我有用
我在 Github 上启用了双重身份验证,这样即使输入正确的用户名和密码,您也会失败。
这是我必须做的:
git config --global --unset user.password
然后运行您的 git 命令(例如 git push)并输入您的用户名。对于密码,您需要生成个人访问令牌。
转到 https://github.com/settings/profile 选择右侧的开发人员设置。选择个人访问令牌生成新令牌。复制生成的令牌并将其用作终端中的密码。
运行 git config --global --unset user.password
后跟任何 git 命令会提示您输入用户名和密码。
git config --global --unset user.password
git push (will prompt you for the password)
git status (will not prompt for password again)
在我的Windows机器上,我尝试了the solution of @nzrytmn,即控制面板>搜索凭据>选择“管理凭据”>修改了与我的用户名对应的git选项类别下的新凭据。接着,
删除当前密码:
git config --global --unset user.password
添加了新密码:
git config --global --add user.password "new_password"
它对我有用。
如果您的凭据存储在凭据帮助程序中,则删除为特定主机保留的密码的可移植方法是调用 git credential reject
:
$ git credential reject
protocol=https
host=bitbucket.org
⏎
或者
$ git credential reject
url=https://bitbucket.org
⏎
之后,要输入您的新密码,请输入 git fetch
。
鉴于从 2021 年 8 月 13 日起新的令牌认证要求,这可能是您正在寻找的:
生成新的访问令牌
更新用于访问您的仓库的令牌
git remote remove origin
git remote add origin https://[TOKEN]@github.com/[USER]/[REPO]
git push
git remote -v
,以便可以看到现有的 [USER] 和 [REPO] 参数。
这个问题很混乱,因为这个问题太复杂了。首先是 MacOS 与 Win10。然后是不同的身份验证机制。
我将在这里开始一个综合答案,可能需要一些帮助,如果我没有得到帮助,我将继续研究答案,直到它完成,但这需要时间。
视窗 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 config --global --unset user.password
然后运行 git push origin master
将要求您输入用户名和密码。也将其放入答案中?
我是第一次推入存储库。所以没有定义 HEAD
。
最简单的方法是:
git push -u origin master
然后它会提示输入密码,一旦你输入它就会自动保存,你就可以推送了。
如果您使用的是 github 并启用了 2 因素身份验证,则需要输入个人访问令牌而不是密码
首先重置您的密码:
git config --global --unset user.password
然后,登录到您的 github 帐户,在右上角,单击设置,然后单击开发人员设置。生成个人访问令牌。复制它。
git push
终端将提示您输入用户名:输入您的电子邮件地址。
在密码提示符处,输入个人访问令牌。
在终端中执行以下步骤:
删除 Mac 中保存的当前密码 git config --global --unset user.password 使用此命令添加新密码,替换为新密码: git config --global --add user.password
您可以通过命令行在 2 个地方更改密码,以下将编辑凭据以连接 repo
git config --edit
也可以使用如下全局参数在全局范围内更改凭据
git config --global --add user.password "XXXX"
或设置凭据助手
git config --global credential.helper wincred
但如果你有回购级别的凭据设置使用第一个命令
git config --edit
我的密码在 github 桌面首选项中很好,但在 .git/config
文件中错误
对我来说,唯一可行的解决方案是手动编辑文件:.git/config
包含这一行:
url = https://user:password@github.com/user/repo.git
将密码更改为 GOOD 密码,因为它对我来说是旧密码
我可以通过转到 Windows 中的凭据管理器并删除 Windows 凭据 🡒 通用凭据下的所有 git 条目来更改我的 git 密码。
当执行 git pull 或 git push 时,windows 会询问新用户/密码本身。
从 2021 年 8 月 13 日起,对于基于新规则使用密码令牌的 MacOS。
我尝试了所有其他基于终端的答案,但都没有奏效。
只需前往 Keychain Access 搜索 github 右键单击所有 github 相关项目,包括 vs-code,删除所有项目
我会尝试在 Keychain Access 中删除我的帐户,然后再次运行 git clone
。 Git 会要求我输入新密码。
在 mac BigSur 11.2.3 上,我更新了 key chain 中的凭据,然后运行了以下命令。
git credential-osxkeychain erase
host=github.com
protocol=https
我必须这样做,因为在更改为 github 的令牌身份验证后,此线程中没有其他解决方案对我有用。 github一直说找不到存储库。如果这不起作用,请尝试在此线程中将其与 mac 的其他命令结合使用。
只需克隆您现有的存储库之一,这将提示您输入新凭据:例如
git clone https://myuser@bitbucket.org/mypath/myrepo.git
(其中 https://myuser@bitbucket.org/mypath/myrepo.git
是您现有存储库之一的地址)
尝试了一切,但没有任何效果。然后以下确实有效。
在上述任何步骤之前,请再次锁定和解锁钥匙串,因为有时它会卡住。安装 GitHub Desktop——它有帮助。
对于那些正在寻找如何重置对存储库的访问权限的人。以 GitHub 为例。您可以在您的个人资料的“设置 -> 开发人员设置”中更改您的 GitHub 个人资料密码并撤销所有“个人访问令牌”。您还可以选择擦除所有 SSH/PGP 密钥和 OAuth/GitHub 应用程序,以确保完全阻止对存储库的访问。因此,任何系统上的所有凭证管理器都将在授权失败并提示您输入新凭证。
以下步骤可以解决问题......
转到文件夹 ~/Library/Application Support/SourceTree 删除文件 {Username}@STAuth-bitbucket.org 重新启动 Sourcetree 尝试获取,出现密码字段,输入新密码也可以在终端运行 git fetch 命令,需要输入密码完成
终端中的所有命令行选项都不适合我。最终,我只是手动打开钥匙串,在“所有项目”下搜索“git”,在那里找到一个条目并将其删除。做到了!下次我从终端尝试 git pull 时,它提示我需要新的信用。
对于 MAC 用户,使用 git GUI(适用于 Sourcetree,也可能适用于其他人)。想在 Derek's answer 中添加一个小注释。原建议:
$ git config --global --unset user.password
后面应该是推/拉/取,但从 GUI 完成时它可能不起作用。 %100 工作案例是从控制台执行第一个连续的提示触发 git 命令。这是一个例子:
定位到您的 git 存储库根目录 输入 $ git config --unset user.password 在终端中输入您选择的 git 命令,例如: $ git push
然后它会要求您提供新密码。
在 this article 中,他们以非常简单的方式解释它,但基本上,我们只需要执行 git remote set-url origin "https://<yourUserName>@bitbucket.org/<yourRepo>"
,下次您执行 git pull
或 git push
时,您必须输入密码。
--global