如何更新 Git 的密码?
Posted
技术标签:
【中文标题】如何更新 Git 的密码?【英文标题】:How do I update the password for Git? 【发布时间】:2013-12-10 07:27:38 【问题描述】:我正在使用带有 Xcode 和 Git 的 BitBucket 进行版本控制,最近我更改了所有密码(感谢 Adobe!)。
不出所料,我不再能够将本地提交推送到 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 Token
Generate 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://<yourUserName>@bitbucket.org/<yourRepo>"
,下次您执行git pull
或git 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 的密码?的主要内容,如果未能解决你的问题,请参考以下文章