如何更新 Git 的密码?

969

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

毫不意外的是,我无法将本地提交推送到BitBucket存储库(身份验证失败,'https://______.git'),但我忘记了如何在我的iMac上更新缓存密码。虽然我认为这应该非常简单,但我在Google或Stack Overflow上找不到它...


6
可能会存储在你的OS X _keychain_(密码存储)中。 - knittl
2
如果您的用户名/密码只是与git url一起存储,则可能在您的.git/config文件中。 - Erik Kerber
3
https://help.github.com/articles/updating-credentials-from-the-osx-keychain/ - D.W.
如果您使用的是 macOS 并且其他方法都无效,请尝试在“钥匙串访问”应用程序中更新“Internet Password”github.com条目。然后将新的个人访问令牌(PAT)设置为密码。 - gusa
35个回答

1374

若要在 macOS 上解决此问题,您可以使用

git config --global credential.helper osxkeychain

下一步 Git 操作(pull、clone、push 等)将出现用户名和密码提示。

对于 Windows 平台,使用同样的命令但传入不同参数:

git config --global credential.helper wincred

80
在Mac OS 10.12.2上,当我执行了上述操作(并且已经检查多次以确保输入正确),但没有发生任何事情。 - b_dubb
102
除非你下一次进行动作(push、pull、fetch),否则它可能不会产生任何影响,然后系统会提示你输入凭据。 - user2782001
7
我正在使用osxkeychain助手,运行mac命令没有任何作用。我怀疑如果之前没有使用助手并更改配置以使用助手,则它会发现尚未为该远程输入密码,然后提示,第一次一切都会很好。随后更改配置将不会提示。下面的答案对我起作用。 - neuralmer
172
不适用于Windows操作系统。不会提示输入新密码。 - disklosr
11
友情提醒,请勿在具有不同账户的仓库中使用 --global - nemnesic
显示剩余13条评论

870

在MacOS Sierra 10.12.4上,其他答案都对我无效。

以下是我必须执行的操作:

git config --global --unset user.password

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


73
这是对我有效的正确方法(在Mac上)。 - shdobxr
1
谢谢,那个有效!在此之前,它一直提示我输入密码,但即使我输入了新密码,身份验证仍然失败。 - Paul Taylor
12
在Windows上这对我没用。在运行此命令后,我尝试了推送,并且它成功了,因此密码仍然可用于Git。 - chill appreciator
5
在Win 10上对我有效。密码提示弹出,无需进入控制面板。 - John Lin
8
在Win10上工作。首先我使用了这个答案提供的命令,然后简单地执行了 git pull 命令 - Windows弹出窗口提示输入密码。谢谢! - shemekh
显示剩余10条评论

775

在 Windows 10 上使用 Git

移除/更新 Windows 凭据管理器中存储的相关凭据信息。路径为:控制面板\所有控制面板项\凭据管理器

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

输入图像描述


12
确实如此。对于需要使用荷兰语操作系统版本的用户:credentials(凭据)---> referentiebeheer(参考管理)。 - dexter
23
这是最简单的解决方案。你只需要进行编辑即可。谢谢。 - yuva
8
顺便提一句,对我来说路径是控制面板\用户帐户\凭据管理器,但最好的方法是键入“凭据”以直接跳转。 - Everts
2
我在Windows上打开任何东西的首选方法是按下Windows键,然后输入该物品的名称,当它在搜索结果中弹出时,按Enter键。这比建议的通过资源管理器导航要快得多,也更容易。 - carlin.scott
1
它也适用于Windows 7(不要问为什么我们公司在使用古老的Windows)。 - Positive Navid
显示剩余11条评论

203

我修改Git密码的唯一途径是打开Windows凭据管理器(快捷键为Windows键 + 搜索“凭据”),并在Windows凭据 - 通用凭据下编辑Git条目。注意:不按字母顺序排列。


7
这个问题是针对 macOS 提出的。 - Saikat
26
@Saikat,然而,我们中许多人都有同样的Windows问题,最终会找到这个SO问题。这似乎表明,尽管已标记为macOS,但该问题本身并不具有特定于操作系统的性质! - iheanyi
2
这是在Win 10上对我有效的唯一答案。 - Kellen Stuart
你可以直接删除而不是编辑,下一次推送/拉取时会提示你。 - Denise Skidmore
我每天使用git commit、push、pull,但我的电脑上没有与git相关的通用凭据。那么我们该如何更新密码呢?请给予建议。谢谢。 - Kamlesh

127

我遇到了同样的问题,而且被接受的答案没有帮助我,因为密码没有存储在钥匙串中。我键入了:

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

然后控制台要求我输入新密码。


1
我只是尝试了这样做,但仍然显示凭据弹出窗口,而不是重置密码。 - Anita Mehta
它对我起作用了,但是我必须先重置验证码。谢谢。 - fiskra
使用GitLab对我有效。我删除了我的访问令牌并生成了一个新的。 - mdailey77

114

如@Imran Javed所述,在Windows 10中,您可以在以下位置找到通用凭据:

控制面板\所有控制面板项目\凭据管理器--> Windows 凭据

找到您的Git服务器,然后单击编辑按钮即可更新密码。

输入图片描述


@halxinate 你使用哪个操作系统?这是针对Windows 10的。 - nzrytmn
这是在Windows 7上对我有效的唯一解决方案。 - tok
我每天使用git commit、push、pull,但我的电脑上没有与git相关的通用凭据。那么我们该如何更新密码呢?请给予建议。谢谢。 - Kamlesh

67

针对 Mac 用户

如果你有多个远程代码库(如 Github、Bitbucket、Job 等)

1) 在项目目录下运行

git config --unset user.password

2) 运行远程 git 命令(例如 git push 或 git pull)

Git 会提示您重新输入此存储库的 user.name 和 user.password。

或者如果您只有一个远程存储库,您可以全局执行此操作。

git config --global --unset user.password

54

在我的MacOS Big Sur 11.3.1上,其他答案都不适用于我。

我在Github上启用了双重身份验证,这会导致即使您输入的用户名和密码正确,也会失败。

以下是我所做的:

git config --global --unset user.password

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

进入https://github.com/settings/profile,选择右侧的Developer Settings。选择Personal Access Token,点击Generate new token。复制生成的令牌,并将其用作终端中的密码。


1
这适用于双因素身份验证场景。 - Amal Kumar S
你能在引用的结尾处添加出处吗? - Cadoiz

51

如果您使用 MAC 系统,可以从 Finder 中打开 KeyChain Access 应用程序,然后查找您的帐户并单击它以更新您的密码。

现在请尝试一下,一切都会顺利进行。

参考链接:通过 Keychain Access 更新凭据


1
这是对我有用的!它允许我们从一个仓库更新密码。此页面上的某些其他建议将影响 git 所涉及的所有内容。 - Stefan Lasiewski
这对我也起作用了。 - Eric Aig
这应该是Mac用户的正确答案,这就是Mac管理密码的方式。 - Alex Christodoulou

41

运行 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)

18
嗯,执行git push(或pull)命令时,我遇到了身份验证错误和访问被拒绝的问题,没有提示我。 - John Demetriou
这个答案没有涵盖 Derek 的答案已经涵盖的内容。 - Bonifacio2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接