ChatGPT解决这个技术问题 Extra ChatGPT

如何更新 Git 的密码?

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

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

它可能存储在您的 OS X 钥匙串(密码存储)中
如果您的用户名/密码仅与 git url 一起存储,则可能在您的 .git/config 文件中。

P
Paul Solt

要在 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
C
Cadoiz

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

这是我必须做的:

git config --global --unset user.password

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


这是对我有用的正确方法(在mac上)
这在 Windows 上对我没有任何作用。在这个命令之后我尝试推送,并且它成功了,所以密码仍然可以用于 git
在 Win 10 上为我工作。弹出密码提示,无需转到控制面板
在Win10上工作。首先,我使用了这个答案中的命令,后来只使用了 git pull - Windows 弹出窗口出现提示输入密码。谢谢!
也适用于 linux
I
Imran Javed

在带有 Git 的 Windows 10 中

在 >>Control Panel\All Control Panel Items\Credential Manager 中删除/更新存储在 Windows 凭据中的相关凭据

https://i.stack.imgur.com/UlNge.png


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

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


这个问题是针对 macOS 提出的
@Saikat 然而,我们中的许多人对 Windows 有相同的问题最终会发现这个 SO 问题。几乎就好像在标记 macos 时问题本身并不是特定于操作系统的!
这是在 Win 10 上对我有用的唯一答案
您可以只删除而不是编辑,并且会在下一次推/拉时提示您
它完美地工作
J
Julián Martínez

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

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

然后控制台询问我的新密码。


我只是这样尝试过,但仍然显示凭据弹出,而不是重置密码
它对我有用,但我必须先重置验证码。谢谢你。
n
nzrytmn

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

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

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

https://i.stack.imgur.com/uMjON.png


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

对于 Mac

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

1)在项目目录下运行

git config --unset user.password

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

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

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

git config --global --unset user.password

C
Cadoiz

如果您是 MAC 用户,那么您可以从 finder 打开 KeyChain Access Application,然后在此处查找您的帐户。只需单击它并更新您的密码。现在试一试,事情就会落实到位。

参考链接:Updating your credentials via Keychain Access


这对我有用!它允许我们从一个 repo 更新密码。此页面上的其他一些建议将影响 git 涉及的所有内容。
这也对我有用
这应该是mac用户的正确答案,这就是mac管理密码的方式
D
Dan Leonard

在 MacOS Big Sur 11.3.1 上,没有其他答案对我有用

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

这是我必须做的:

git config --global --unset user.password

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

转到 https://github.com/settings/profile 选择右侧的开发人员设置。选择个人访问令牌生成新令牌。复制生成的令牌并将其用作终端中的密码。


这适用于两因素身份验证方案。
你能在最后添加你的报价来源吗?
S
Shravan Ramamurthy

运行 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)只是给了我身份验证错误和访问被拒绝。没有提示我
该答案不涵盖德里克未涵盖的任何内容。
C
Cadoiz

在我的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 中。
M
Marsu

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

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

或者

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

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


警告:无效的凭据行:?致命:无法从标准输入读取凭据
这在 Windows 10 下对我有用,其他方法不行。这应该是正确的答案。
它对我有用!非常感谢!
它也可以在 Mac 上工作
事实上,这是所有答案中最便携和正确的,应该是这个问题的主要答案。它在 Linux 下也适用于我。谢谢。
i
i_want_more_edits

鉴于从 2021 年 8 月 13 日起新的令牌认证要求,这可能是您正在寻找的:

生成新的访问令牌

更新用于访问您的仓库的令牌

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://”之后的所有内容。
u
user637338

这个问题很混乱,因为这个问题太复杂了。首先是 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.
`

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

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

最简单的方法是:

git push -u origin master

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


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

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

首先重置您的密码:

git config --global --unset user.password

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

git push

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

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


L
Luthfi Rahman

在终端中执行以下步骤:

删除 Mac 中保存的当前密码 git config --global --unset user.password 使用此命令添加新密码,替换为新密码: git config --global --add user.password


这样,您的密码确实会保存在历史记录中,任何运行历史命令的人都可以将其视为纯文本。为防止出现这种情况,您可以在命令之前添加一个额外的空格,或者在之后使用正确的行 ID 运行此命令“history -d 1234”
A
AnotherYou

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

git config --edit 

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

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

或设置凭据助手

git config --global credential.helper wincred

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

git config --edit

i
i_want_more_edits

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

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

包含这一行:

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

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


s
shaurya airi

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

当执行 git pull 或 git push 时,windows 会询问新用户/密码本身。


I
Ian Samz

从 2021 年 8 月 13 日起,对于基于新规则使用密码令牌的 MacOS。

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

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


P
Peter Mortensen

我会尝试在 Keychain Access 中删除我的帐户,然后再次运行 git clone。 Git 会要求我输入新密码。


这是我选择做的。我在钥匙串中存储了多个 github 帐户。我选择全部删除。成功推送了我的本地分支。
不是一个好的答案。重新克隆对于这个简单的任务来说太过分了
B
Bauss

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

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

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


i
i_want_more_edits

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

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

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


佚名

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

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


你是怎样做的?
c
chill appreciator

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


i
i_want_more_edits

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

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


C
Cranialsurge

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


在 Visual Studio Code 中,终端命令对我没有任何作用。打开 KeychainAccess(不是 Keychain)搜索并删除条目解决了这个问题。使用 BitBucket 时,搜索 bitbucket 而不是 git。
i
i_want_more_edits

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

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


A
Alhamza Alnaimi

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