如何更新 Git 的密码?

Posted

技术标签:

【中文标题】如何更新 Git 的密码?【英文标题】:How do I update the password for Git? 【发布时间】:2013-12-10 07:27:38 【问题描述】:

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

不出所料,我不再能够将本地提交推送到 BitBucket (Authentication failed for 'https://______.git') 上的存储库,但我忘记了如何更新 iMac 上的缓存密码。不知何故,我无法在 Google 或 *** 上找到它,尽管在我看来它应该相当简单......

【问题讨论】:

它可能存储在您的 OS X keychain(密码存储)中 可能在您的 .git/config 文件中,如果您的用户名/密码仅与 git url 一起存储。 help.github.com/articles/… 【参考方案1】:

我遇到了同样的问题(在 Windows 10 上,Git 版本 2.34.1.windows.1,使用个人访问令牌和我的组织启用的 SAML SSO): 当我发出 git 拉 在我的仓库中,我收到了错误消息

错误:“xxx”组织已启用或强制执行 SAML SSO。访问 此存储库,您必须使用带有个人访问令牌的 HTTPS 远程 或带有 SSH 密钥和密码的 SSH 已为此组织授权。访问 https://docs.github.com/articles/authenticating-to-a-github-organization-with-saml-single-sign-on/ 了解更多信息。 致命:无法从远程存储库读取。

我发现在我的 .git/config 文件中我有这个: url = git@github.com:myorg/myrepo.git

上面的错误消息中的链接使用 SAML SSO (Personal Access Token, PAT) 所以我把它改成了 网址=https://www.github.com/myorg/myrepo.git

这一次发出 git 命令时 git 拉 我看到了一个登录对话框,我可以在其中提供我的 PAT 令牌并开始工作。

【讨论】:

【参考方案2】:

在 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 TokenGenerate new token。复制生成的token,作为终端密码使用。

【讨论】:

这适用于双因素身份验证场景。 能否在最后添加报价来源?【参考方案3】:

在@Imran Javed 上面提到的 Windows 10 中,您可以在以下位置找到通用凭据:

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

找到你的 git 服务器,然后你可以通过点击编辑按钮来更新密码。

【讨论】:

@halxinate 你用的是哪个操作系统?这适用于 Windows 10。 这是在 Windows 7 上对我有用的唯一解决方案 当我每天使用 git commit、push、pull 时,我的计算机上没有 git 相关的通用凭据。那么我们如何更新密码呢?请建议。谢谢。【参考方案4】:

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

这是我必须做的:

git config --global --unset user.password

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

【讨论】:

这是对我有用的正确方法(在 Mac 上) 这救了我!我将它存储在作曲家中,但它也创建了一个令人讨厌的 auth.json,因为我总是忘记将它添加到 .gitignore。 这在 Windows 上对我没有任何作用。在这个命令之后我尝试推送,并且它成功了,所以密码仍然可以用于 git 在 Win 10 上为我工作。弹出密码提示,无需转到控制面板 在 Win10 上工作。首先我使用了这个答案中的命令,后来只是git pull - Windows 弹出窗口出现提示输入密码。谢谢!【参考方案5】:

这个问题很混乱,因为这个问题太复杂了。首先是 MacOS 与 Win10。然后是不同的认证机制。

我将在这里开始一个统一的答案,可能需要一些帮助,如果我没有得到帮助,我会继续研究答案直到它完成,但这需要时间。

Windows 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.
`

【讨论】:

我更新了您的格式,尝试添加对 Andrew Pye 的引用,但找不到任何内容。重新格式化仁怀的评论:运行git config --global --unset user.password 然后git push origin master 将要求您输入用户名和密码。也将其纳入答案?【参考方案6】:

如果您是 MAC 用户,那么您可以从 finder 打开 KeyChain Access Application,然后在此处查找您的帐户。只需单击它并更新您的密码。 现在试一试,一切都会好起来的。

参考链接:Updating your credentials via Keychain Access

【讨论】:

这对我有用!它允许我们从 one repo 更新密码。此页面上的其他一些建议将影响 git 所涉及的所有内容。【参考方案7】:

我的密码在 github 桌面首选项中很好,但在 .git/config 文件中错误

对我来说,唯一可行的解​​决方案是手动编辑文件: .git/config

包含此行:

url = https://user:password@github.com/user/repo.git

将密码更改为 GOOD 密码,因为它对我来说是旧密码

【讨论】:

【参考方案8】:

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

    转到文件夹~/Library/Application Support/SourceTree 删除文件Username@STAuth-bitbucket.org 重启源树 尝试获取,密码字段出现,输入新密码 也可以在终端运行git fetch命令,需要输入密码 完成

【讨论】:

【参考方案9】:

只需克隆您现有的存储库之一,这将提示您输入新凭据: 例如

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

(其中https://myuser@bitbucket.org/mypath/myrepo.git 是您现有存储库之一的地址)

【讨论】:

【参考方案10】:

对于 MAC 用户,使用 git GUI(适用于 Sourcetree,也可能适用于其他人)。想在Derek's answer 中添加一个小评论。原建议:

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

应该跟着一个push/pull/fetch 但是它可能在从图形用户界面。 %100 工作案例是从控制台执行第一个连续的提示触发 git 命令。这是一个例子:

    找到您的 git 存储库根目录 输入$ git config --unset user.password 在终端中继续执行您选择的 git 指令,例如:$ git push

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

【讨论】:

【参考方案11】:

在我的 Windows 机器上,我尝试了the solution of @nzrytmn,即 控制面板>搜索凭据>选择“管理凭据”>在与我的用户名对应的git选项类别下修改了新凭据。 然后,

删除当前密码:

git config --global --unset user.password

添加新密码:

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

它对我有用。

【讨论】:

对我不起作用。我已经解决了这里描述的问题:cmatskas.com/how-to-update-your-git-credentials-on-windows 不起作用,亲爱的,试了两次 警告:这会将未加密的密码存储在 ~/.gitconfig 中。【参考方案12】:

鉴于自 2021 年 8 月 13 日起新的令牌身份验证要求,这可能就是您想要的:

    Generate a new access token
    更新用于访问您的存储库的令牌
git remote remove origin
git remote add origin https://[TOKEN]@github.com/[USER]/[REPO]
git push

【讨论】:

这个解决方案对我有用,上面没有一个,我想指定 USER 不是你用来访问你的 github 帐户的用户名,而是 REPO 的用户 是的。这是唯一对我有用的解决方案。首先应该运行的一个命令是:git remote -v,以便可以看到现有的 [USER] 和 [REPO] 参数。 如果您的个人访问令牌的名称是“token”并且令牌值为“123”,那么 [TOKEN] = token:123 。对于 github.com/[USER]/[REPO],复制指向您的存储库的 URL - “https://”之后的所有内容。【参考方案13】:

从 2021 年 8 月 13 日起,MacOS 将根据新规则使用密码令牌。

我尝试了所有其他基于终端的答案,但都没有奏效。

    只需前往Keychain Access 搜索github 右键点击所有github相关项,包括vs-code, 删除所有项目

【讨论】:

【参考方案14】:

只需对您的任何存储库执行 git pull 操作,系统就会提示您输入新密码。

【讨论】:

这曾经有效,但它不再有效。 @Dan Leonard 的解决方案效果很好。【参考方案15】:

在 Mac BigSur 11.2.3 上 我更新了key chain 中的凭据,然后运行了以下命令。

git credential-osxkeychain erase
host=github.com
protocol=https

我必须这样做,因为在更改为 github 的令牌身份验证后,此线程中没有其他解决方案对我有用。 github一直说找不到存储库。 如果这不起作用,请尝试在此线程中将其与 mac 的其他命令结合使用。

【讨论】:

正是我想要的。来源是:docs.github.com/en/get-started/getting-started-with-git/…【参考方案16】:

终端中的所有命令行选项都不适合我。最终,我只是手动打开钥匙串,在“所有项目”下搜索“git”,在那里找到一个条目并将其删除。做到了!下次我从终端尝试 git pull 时,它提示我输入新的凭据。

【讨论】:

在 Visual Studio Code 中,终端命令对我没有任何作用。打开 KeychainAccess(不是 Keychain)搜索并删除条目修复了问题。使用 BitBucket 时,搜索 bitbucket 而不是 git。【参考方案17】:

对于 Mac

如果您有多个远程存储库(Github、Bitbucket、Job 等)

1)在项目目录下运行

git config --unset user.password

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

Git 将提示您为此存储库重新输入您的用户名和用户名密码

如果您只有一个远程存储库,您也可以全局执行

git config --global --unset user.password

【讨论】:

【参考方案18】:

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

首先重置您的密码:

git config --global --unset user.password

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

git push

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

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

【讨论】:

【参考方案19】:

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

git config --edit 

也可以使用如下全局参数在全局范围内更改凭据

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

或使用

设置凭据助手
git config --global credential.helper wincred

但是如果你有 repo 级别的凭据设置使用第一个命令

git config --edit

【讨论】:

【参考方案20】:

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

在执行 git pull 或 git push 时,windows 会自行询问新用户/密码。

【讨论】:

【参考方案21】:

如果您的凭据存储在凭据帮助程序中,删除为特定主机保留的密码的便携方法是调用git credential reject

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

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

然后,要输入您的新密码,请输入git fetch

【讨论】:

警告:无效的凭证行:?致命:无法从标准输入读取凭据 这在 Windows 10 下对我有用,其他方法不行。这应该是正确的答案。【参考方案22】:

在终端中执行以下步骤:

    删除 Mac 中保存的当前密码

    git config --global --unset user.password
    

    使用此命令添加您的新密码,替换为您的新密码:

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

【讨论】:

这样你的密码就会保存在历史记录中,任何运行历史命令的人都可以看到它是纯文本。为防止出现这种情况,您可以在命令之前添加一个额外的空格,或者在之后使用正确的行 ID 运行此命令“history -d 1234”【参考方案23】:

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

【讨论】:

好吧,调用命令 git push(或 pull)只是给了我身份验证错误并拒绝访问。没有提示我 此答案不涵盖德里克未涵盖的任何内容。【参考方案24】:

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

【讨论】:

【参考方案25】:

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

git config --global credential.helper osxkeychain

用户名和密码提示将出现在您的下一个 Git 操作(拉取、克隆、推送等)中。

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

git config --global credential.helper wincred

【讨论】:

在 Mac OS 10.12.2 上,当我执行上述操作时 - 检查并仔细检查我是否正确输入 - 没有任何反应。 @b_dubb 它可能不会做任何事情,直到您下次伸出手(推、拉、取)时,系统会提示您输入凭据。 @user2782001 我正在使用 osxkeychain 助手,运行 mac 命令什么也没做。我怀疑如果有人之前没有使用助手,将配置更改为使用助手,它会看到没有为该遥控器输入密码,它会提示,并且第一次一切都会好起来的。配置的后续更改不会提示。下面的answer 对我有用。 不适用于 Windows。不提示输入新密码 友情提示,如果您有不同的帐户用于不同的仓库,请不要使用--global【参考方案26】:

在this article 中,他们以非常简单的方式进行了解释,但基本上,我们只需要执行git remote set-url origin "https://&lt;yourUserName&gt;@bitbucket.org/&lt;yourRepo&gt;",下次您执行git pullgit push 时,您必须输入密码。

【讨论】:

【参考方案27】:

在带有 Git 的 Windows 10 中

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

【讨论】:

确实是这样。对于必须使用荷兰版操作系统的用户:凭据 ---> referentiebeheer 这是最简单的解决方案。您需要做的就是编辑。谢谢。 顺便说一句,我的路径是控制面板\用户帐户\凭据管理器,但最好是直接输入凭据。 非常感谢!拯救我的一天。 我在 Windows 上打开任何东西的首选方法是点击 Windows 键并输入东西的名称,然后在搜索结果中弹出时按 Enter。这比按照建议在资源管理器中导航要快得多,也更容易。【参考方案28】:

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

【讨论】:

针对 macOS 提出的问题 @Saikat 然而,我们中的许多人对 Windows 有相同的问题最终会发现这个 SO 问题。几乎就好像标记为 macos 时的问题本身不是特定于操作系统的! 这是在 Win 10 上对我有用的唯一答案 您可以只删除而不是编辑,下次推送/拉取时会提示您 完美运行【参考方案29】:

尝试了一切,但没有任何效果。然后以下确实有效。

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

【讨论】:

你是怎么做到的?【参考方案30】:

我是第一次推入存储库。所以没有定义HEAD

最简单的方法是:

git push -u origin master

然后会提示输入密码,输入后会自动保存,然后就可以推送了。

【讨论】:

如果我从本地推送到远程服务器,那么我必须使用哪个密码?这是我的远程服务器凭据密码还是其他? @Fawwad 这是远程仓库的密码。 我的远程服务器不是github.com。这是我安装 Git 的专用服务器。 我明白这将如何帮助您第一次推送,但这将如何帮助更新已保存的密码。 @Fawwad 使用什么并不重要。您仍然需要提供提供对您要写入的存储库的写入访问权限的凭据。

以上是关于如何更新 Git 的密码?的主要内容,如果未能解决你的问题,请参考以下文章

git如何设置账号密码从而每次项目中的组员更新或者提交代码的时候都需要输入账号和密码呢

解决git每次提交、更新都需要输入账户密码

idea 修改Git密码和账号方法

Git 解决每次更新代码都要输入用户名密码

Git 解决每次更新代码都要输入用户名密码

Idea修改Git账号及密码的方法