如何更新Git的密码?


566

我将BitBucket与Xcode和Git一起用于版本控制,最近我更改了所有密码(感谢Adobe!)。

毫不奇怪,我不再能够将本地提交推送到BitBucket(Authentication failed for 'https://______.git')上的存储库中,但是却忘记了如何更新iMac上的缓存密码。某种程度上,我一直无法在Google或Stack Overflow上找到它,尽管在我看来,它应该相当简单……


5
它可能存储在您的OS X 钥匙串(密码存储区)中
knittl

2
如果您的用户名/密码只是与git url一起存储,则可能在您的.git / config文件中。
Erik Kerber

Answers:


867

要在macOS上修复此问题,可以使用

git config --global credential.helper osxkeychain

用户名和密码提示将随下一个Git操作一起出现(拉,克隆,推等)。

对于Windows,这是具有不同参数的相同命令:

git config --global credential.helper wincred

45
在Mac OS 10.12.2上,当我执行上述操作时-检查并再次检查我是否正确输入了-没有任何反应。
b_dubb '16

59
@b_dubb它可能什么都不做,直到下次您伸出手(推,拉,取)时,系统才会提示您输入凭据。
user2782001

3
@ user2782001我正在使用osxkeychain帮助器,运行mac命令并没有执行任何操作。我怀疑如果有人以前没有使用过该帮助程序,而是更改了配置以使用该帮助程序,则会看到没有为该遥控器输入密码,它会提示您,并且第一次一切都很好。随后的配置更改将不会提示。下面的答案对我有用。
Neuromer

101
在Windows上不起作用。不提示输入新密码
disklosr

8
它适用于Mac OS Mojave。谢谢!
Nguyen Tran

508

在MacOS Sierra 10.12.4上,没有其他答案对我有用

这是我必须要做的:

git config --global --unset user.password

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


40
这是对我
有用

1
这救了我!我将其存储在composer中,但它同时也创建了一个auth.json,这很烦人,因为我总是忘记将其添加到.gitignore中。
cbloss793

1
谢谢你的工作!在此之前,它提示我输入密码,但是即使我输入了新的密码,身份验证仍然失败。
Paul Taylor

6
在Windows上,这对我没有任何帮助。执行完此命令后,我尝试执行该命令,但此操作已成功完成,因此git仍可使用该密码
独立运行

1
在Win10上工作。首先,我从此答案中使用了命令,后来又简单了git pull-Windows弹出窗口提示您输入密码。谢谢!
shemekh

428

在具有Git的Windows 10中

删除/更新存储在>>控制面板\所有控制面板项\凭据管理器中的Windows凭据中的相关凭据

在此处输入图片说明


9
确实是这样。对于必须使用荷兰语版操作系统的用户:凭证---> referentiebeheer
dexter

10
这是最简单的解决方案。您需要做的就是编辑。谢谢。
尤瓦

4
顺便说一句,对我来说,路径是“控制面板” \“用户帐户” \“凭据管理器”,但最好的方法是键入“凭据”以直接进入
。– Everts

1
非常感谢!救救我。
Dhaval Patel

2
它也可以在Windows 7上运行。谢谢:)
弗拉迪斯拉夫(

164

我可以修改git密码的唯一方法是转到Windows中的凭据管理器(Windows键+键入“凭据”),然后在Windows凭据🡒通用凭据下编辑git条目。注意:未按字母顺序列出


5
有人问了macOS的问题
Saikat

14
@Saikat,然而,我们许多对Windows有相同问题的人最终找到了这个SO问题。就像标记的macos一样,问题本身似乎并非特定于操作系统!
iheanyi

1
这是在Win 10上对我
有用

87

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

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

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


1
我只是这样尝试,但仍显示凭据弹出窗口,而不是重置密码
Anita Mehta

它对我有用,但是我必须先重置验证码。谢谢。
fiskra

77

在上述@Imran Javed提到的Windows 10中,您可以在以下位置找到通用证书:

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

为您的git服务器,然后您可以通过单击“编辑”按钮来更新密码。

在此处输入图片说明


@halxinate您使用哪个操作系统?这是针对Windows 10的
。– nzrytmn

31

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

9
好吧,调用命令git push(或pull)只会给我验证错误,并且访问被拒绝。没有提示我
约翰DEMETRIOU

这个答案不包括德里克所没有的任何东西。
Bonifacio2

26

在我的Windows机器上,我尝试了@nzrytmn的解决方案,即控制面板>搜索凭据>选择git选项类别下与我的用户名对应的“ ManageCredentials“>修改后的新凭据。然后,

删除当前密码:

git config --global --unset user.password

添加了新密码:

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

它为我工作。


没有为我工作。我已经在此描述解决了这个问题:cmatskas.com/how-to-update-your-git-credentials-on-windows
弗拉德

不工作亲爱的,两次试图
卡姆利什

18

如果您是MAC用户,则可以从finder中打开KeyChain Access Application,然后在此处查找您的帐户。只需单击它并更新您的密码即可。现在尝试一下,一切都会就绪。

参考链接:通过“钥匙串访问”更新您的凭据

为我工作。:)


1
这对我有用!它允许我们从一个存储库更新密码。此页面上的其他一些建议将影响git接触的所有内容。
Stefan Lasiewski,

13

我是第一次进入存储库。因此没有HEAD定义。

最简单的方法是:

git push -u origin master

然后,它将提示您输入密码,一旦输入,密码将被自动保存,您将可以进行推送。


如果我从本地服务器推送到远程服务器,那么我必须使用哪个密码?这是我的远程服务器凭据密码还是其他密码?
法瓦德(Fawwad)'17

@Fawwad这是远程存储库的密码。
Pritam Banerjee

3
我的远程服务器不是github.com。这是我安装Git的专用服务器。
法瓦德(Fawwad)'17年

我知道这将如何帮助您第一次按下,但是这将如何帮助更新保存的密码。
timwaagh

@Fawwad不管您使用什么。您仍然需要提供凭据,以提供对要写入的存储库的写访问权限。
iheanyi

8

在终端中执行以下步骤:

  1. 删除Mac中保存的当前密码

    git config --global --unset user.password
    
  2. 使用此命令添加新密码,并用新密码替换:

    git config --global --add user.password <new_pass>
    

4
这样,您的密码确实会保存在历史记录中,任何运行history命令的人都可以将其视为纯文本。为了防止出现这种情况,您可以在命令前添加额外的空间,或者在以后以正确的行ID运行此命令'history -d
1234'– Lavandysh

8

如果您的凭据存储在凭据帮助器中,则删除特定主机的永久密码的可移植方法是致电git credential reject

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

要么

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

之后,输入新密码git fetch


2
警告:无效的凭证行:致命:无法从stdin
pinei中

7

在这个问题上有如此混乱,因为在这个问题上有太多的复杂性。首先是MacOS与Win10。然后是不同的身份验证机制。

我将在此处开始合并的答案,可能需要一些帮助,如果没有获得帮助,我将继续研究直到答案完成,但这将需要一些时间。

Windows 10:|-

MacOS: | |-- Using git config to store username and password: | git config --global --add user.password | |---- first time entry | git config --global --add user.password <new_pass> | |---- password update | git config --global --unset user.password | git config --global --add user.password <new_pass> | |-- Using keychain: | git config --global credential.helper osxkeychain | |---- first time entry | Terminal will ask you for the username and password. Just enter it, it will be | stored in keychain from then on. | |---- 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>将询问用户名和密码。谢谢。
仁怀

5

您可以在2个地方通过命令行更改密码,以下操作将编辑凭据以连接存储库

git config --edit 

凭证也可以使用全局参数在全局下更改,如下所示

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

或使用以下方式设置凭据助手

git config --global credential.helper wincred

但是,如果您具有回购级别凭据,请使用第一个命令

git config --edit

5

对于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

4

如果您使用的是github并启用了2因子身份验证,则需要输入个人访问令牌而不是密码

首先重置您的密码:

git config --global --unset user.password

然后,登录到您的github帐户,在右上角,单击“设置”,然后单击“开发人员设置”。生成个人访问令牌。复制它。

git push

终端将提示您输入用户名:输入您的电子邮件地址。

在密码提示下,输入个人访问令牌。


2

我会尝试在“钥匙串访问”中删除我的帐户,然后git clone再次运行。Git会要求我输入新密码。


这就是我选择要做的。我在钥匙串中存储了多个github帐户。我选择全部删除。成功推送我的本地分支机构。
罗巴克教练

1
不是一个好的答案。对于这个简单的任务,重新克隆太多了
Kolob Canyon

2

尝试了一切,但无济于事。然后下面的工作了。

  1. 在执行上述任何步骤之前,请再次锁定和解锁钥匙串,因为有时卡住了。
  2. 安装GitHub桌面-会有所帮助。

你是怎样做的?
Shekhar Sahu

2

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


2

以下步骤可以解决问题.....

  1. 转到文件夹〜/ Library / Application Support / SourceTree
  2. 删除文件{Username}@STAuth-bitbucket.org
  3. 重新启动Sourcetree
  4. 尝试获取,出现密码字段,输入新密码
  5. 也可以在终端中运行“ git fetch”命令,需要输入密码
  6. 完成


1

本文中,他们以一种非常简单的方式对其进行了说明,但基本上,我们只需要执行一次git remote set-url origin "https://<yourUserName>@bitbucket.org/<yourRepo>",下次您执行一次git pull或一次时,git push您将必须输入密码。



0

如果上述解决方案不起作用,请尝试更改您的删除git url。

git remote -v

git remote set-url的起源


0

通过转到Windows中的凭据管理器并删除Windows凭据🡒通用凭据下的所有git条目,可以更改git密码。

在执行git pull或git push时,Windows会要求输入新用户/密码本身。


0

对于MAC用户,使用git GUI(适用于Sourcetree,也适用于其他用户)。想要在Derek的答案中添加一句话(https://stackoverflow.com/a/45703718/7138492)。原始建议:

$ git config --global --unset user.password

应该紧跟一个推/拉/取BUT,但从GUI完成后可能无法正常工作。%100的工作情况是从控制台执行第一个连续的提示提示符git命令。这是一个例子:

  1. 找到您的git仓库根目录
  2. 输入 $ git config --unset user.password
  3. 在终端中继续选择您喜欢的git推荐,例如: $ git push

然后它将要求您提供新的密码。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.