Git一直提示我输入密码

Posted

技术标签:

【中文标题】Git一直提示我输入密码【英文标题】:Git keeps prompting me for a password 【发布时间】:2011-12-08 01:27:11 【问题描述】:

我已经使用 Git 有一段时间了,但不断要求输入密码的请求开始让我难以接受。

我使用的是 Mac OS X 和 GitHub,我按照 GitHub 的Set Up Git page 的说明设置了 Git 和我的 SSH 密钥。

我还在我的 Mac OS X 钥匙串中添加了 github SSH 密钥,如 GitHub's SSH key passphrases page 中所述。我的公钥已在 Git 中注册。

尽管如此,每次我尝试 Git pull 时,我都必须输入我的用户名和密码。除了 SSH 密钥,我还需要为此设置什么吗?

【问题讨论】:

愚蠢的问题,但是您是否验证过 SSH 密钥在简单地使用 ssh 到带有 git 的机器时有效? 你的意思是像 ssh -T git@github.com ?是的,这很好用(如果有点慢)。 另见Git push requires username and password。 对于 https url,您可以使用(使用 git1.8.3+)一个 git 凭证助手 'netrc'。见full example here。 我是 Windows 用户,即使将我的公钥添加到服务器的 authorized_keys 文件中,我也面临密码请求问题。真正的问题是我没有将我的公钥/私钥保存在 c:\program files\git 文件夹的 .ssh 文件夹下。如果有人遇到此类问题,请将您的密钥复制到此文件夹中并尝试推/拉。 【参考方案1】:

我认为您的 Git 存储库 URL 可能有误。

打开 .git/config 并找到 [remote "origin"] 部分。确保您使用的是 SSH:

ssh://git@github.com/username/repo.git

如果您单击克隆或下载并选择ssh,您可以在存储库的主页中看到 SSH URL。

而不是httpsgit 之一:

https://github.com/username/repo.git
git://github.com/username/repo.git

您现在可以使用 SSH 密钥而不是用户名和密码来验证。

如果 Git 抱怨 'origin' has already been added,请打开 .config 文件并将 url = "..." 后面的 [remote origin] 部分编辑为 url = ssh://github/username/repo.git


其他服务也是如此。确保地址类似于:protocol://something@url

例如.git/config 代表 Azure DevOps:

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

【讨论】:

这可能是它。当我调用 git remote -v 我得到: origin github.com/Foo/Bar.git (fetch) origin github.com/Foo/Bar.git (push) 而使用 SSH 似乎应该是: origin git@github.com:Foo/Bar.git (fetch ) origin git@github.com:Foo/Bar.git (push) 这可能是因为我最初使用 GitHub 的 Mac 应用程序 (mac.github.com) 检查了我的项目。知道如何解决吗? 要么修复 .git/config 文件中的 url,使用 git-remote 修复它,要么删除本地 repo 并使用正确的 URL 再次克隆它。 只是拼写出来(因为我需要它):打开 .git/config 并在 [remote "origin"] 部分设置 url = ssh://git@github.com/username/Repo.git。这对我有用。 奇怪,@GregK 的解决方案对我不起作用,但 url = git@github.com:organization/Repo.git 确实有效。 +1 引导我走上正确的道路!成功! 我不能强调使用 ssh://git@github/[username]/[reponame].git 进行 CLONE 的重要性是你想使用密钥来访问 GIT 没有每次输入您的用户名和密码。我发现修复它的唯一方法是删除本地仓库并再次克隆 $ git clone ssh://git@github/[username]/[reponame].git【参考方案2】:

配置 credential.helper

在 OS X(现在是 macOS)上,在 Terminal 中运行:

git config --global credential.helper osxkeychain

它使 Git 能够使用文件 Keychain.app 来存储用户名和密码,并从钥匙串中检索到您的私有 SSH 密钥的密码。

对于 Windows 使用:

git config --global credential.helper wincred

对于 Linux 使用:

git config --global credential.helper cache // If you want to cache the credentials for some time (default 15 minutes)

git config --global credential.helper store // if you want to store the credentials for ever (considered unsafe)

注意:第一种方法会将凭据缓存在内存中,而第二种方法会将它们以纯文本格式存储在~/.git-credentials

查看here 了解有关 Linux 方法的更多信息。 查看here 了解有关这三个方面的更多信息。

疑难解答

如果 Git 凭证助手配置正确,macOS 会将密码短语保存在钥匙串中。有时connection between SSH and the passphrases stored in the keychain 可能会中断。运行ssh-add -Kssh-add ~/.ssh/id_rsa 再次将密钥添加到钥匙串。

macOS v10.12 (Sierra) 更改为 ssh

对于 macOS v10.12 (Sierra),ssh-add -K 需要在每次重启后运行。为避免这种情况,请使用此内容创建 ~/.ssh/config

Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_rsa

来自 10.12.2 的 ssh_config man 页面:

使用钥匙串

在 macOS 上,指定系统在尝试使用特定密钥时是否应在用户的钥匙串中搜索密码。当用户提供密码短语时,此选项还指定密码短语是否应在验证正确后存储到钥匙串中。参数必须是“是”或“否”。默认为“否”。

Apple 已添加 Technote 2449,它解释了发生的事情。

在 macOS Sierra 之前,ssh 会显示一个对话框,询问您的密码,并提供将密码存储到钥匙串中的选项。此 UI 不久前已被弃用并已被删除。

【讨论】:

这是迄今为止最好的方法,因为 OSX 的 Github 应用程序(也可能是 Windows)默认使用 git repos 的 https 路径。使用 https 而不是 ssh/git 还有一个很好的理由,因为出于安全原因,许多公司网络只允许端口 80443 上的流量。 您需要 git 1.7.10 或更高版本才能使用凭证助手。 +1 用于 keychain.app 解决方案。这对我来说很棒,因为我雇主的 git 服务器只支持通过 apache 提供的 http,他们强烈反对使用 .netrc 文件方法,该方法将您的密码以明文形式显示。 注意,我收到了错误'credential-osxkeychain' is not a git command.,因为我没有安装凭证助手。我按照这里的说明安装它:help.github.com/articles/set-up-git#password-caching 感谢 Sierra 更新,我刚刚更新,无法弄清楚为什么当我添加 git config --global credential.helper osxkeychain 时 github 一直要求 pw 我的 .ssh 目录中的配置文件修复了我。 【参考方案3】:

我认为你解决了你的问题,但我没有看到对我有帮助的解决方案,所以就在这里。

在终端输入:

echo "" > ~/.ssh/known_hosts

这将清空您的 known_hosts 文件,并且您必须添加您使用并连接到的每个主机,但它解决了问题。

【讨论】:

cat /dev/null > ~/.ssh/known_hosts 也会这样做。 > ~/.ssh/known_hosts 更短:) rm ~/.ssh/known_hosts 也应该完成这项工作。不过我建议不要这样做。 如果您需要从 ~/.ssh/known_hosts 中删除主机,有一种比清除文件影响较小的方法。 ~/.ssh/known_hosts 只是一个文本文件,如果你能在文件中找到有问题的主机,你可以删除它们的行。您可能需要在编辑之前备份文件。如果文件中只有几个条目,那么清除它可能不是一个坏主意。我在很多服务器上工作,所以我的 ~/.ssh/known_hosts 中有数百个条目,我还没有准备好将它们全部删除以删除一些条目。 @papan 这并不能阻止 git 询问我的密码!【参考方案4】:

使用这个:用适当的主机名替换 github.com

git remote set-url origin git@github.com:user/repo.git

【讨论】:

我在查看git remote -v 时已经设置了该设置。然而,我仍然被提示输入密码。 同理,我按照他的建议设置了,但还是提示输入密码,如何防止? @IgorGanapolsky : 你有没有找到适合你的解决方案? 这工作正常。这很奇怪,带有git@** 的远程URL 不会提示凭据,而带有https@** 的URL 会:)。于是我找到了this doc。【参考方案5】:

我同意“codehugger”并使用“orkoden”的说明,它对我有用 - 在 NetBeans 7.3 上 - 当您右键单击文件并选择上下文菜单 - 推送 - 打开“推送到远程”窗口 -这里有两个选项:

    origin:https://github.com/myaccount/myproject.git/

    https://github.com/myaccount/myproject.git/

如您所见,区别在于 URL 中的 origin 参数 - 您不想选择此选项 (1) 您想检查选项 (2),这对我来说很好。

【讨论】:

【参考方案6】:

在 Windows 和 GitHub 上使用 SSH 推送/拉取 Git 指南:An Illustrated Guide to Git on Windows

    下载并安装 PuTTY 设置环境变量 'GIT_SSH' = 'path\to\plink.exe'(在安装的 putty 文件夹中) - 非常重要!!! 重启 Windows Explorer 使环境变量生效(不能只重启命令提示符) 运行 puttygen.exe 生成新密钥,将 public 密钥复制到 GitHub 站点 将此新的私有密钥保存在磁盘上的某个安全位置(最好不要Dropbox) 运行 putty.exe 并将 SSH 连接到 github.co 通过运行“shell:startup”快速进入启动文件夹。 通过选美使您的私钥使用 Windows 启动。在 Startup 文件夹中创建一个快捷方式,语法为 "path\to\pageant.exe" "path\to\privatekey" 我们不需要在存储库的 .git/config 中设置“puttykeyfile”设置 很重要是使用了GitHub的“SSH clone URL”而不是HTTPS。

【讨论】:

没有人应该再使用腻子了。您现在可以使用内置的 Windows 10 实用程序完成所有操作。让腻子,只是腻子。【参考方案7】:

orkoden 关于在您的终端中使用带有 Git 的钥匙串的答案不完整并引发错误。这是您必须执行的操作,以将您在终端中输入的用户名和密码保存在您的钥匙串中:

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

然后输入

git config --global credential.helper osxkeychain

如果你在 curl 之前已经完成了 Git 配置,那没问题;它会工作的。

【讨论】:

如果我在 linux 上会怎样。【参考方案8】:

正如其他人所说,您可以安装密码缓存助手。我主要只是想发布其他平台的链接,而不仅仅是 Mac。我正在运行 Linux 服务器,这很有帮助:Caching your GitHub password in Git

对于 Mac:

git credential-osxkeychain

窗户:

git config --global credential.helper wincred

Linux:

git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

【讨论】:

我必须向下滚动到第三个答案才能看到 Linux 说明,这些应该在主要答案中,因为它是一个经常被引用的问题。【参考方案9】:

Git 1.7.9+Windows 中,在命令提示符下运行以下命令以在文本编辑器中打开配置文件:

git config --global --edit

然后在文件中,如果不存在以下块,则添加或相应地进行编辑:

[credential "https://giturl.com"]
username = <user id>
helper = wincred

保存并关闭文件。完成上述更改后,您只需提供一次凭据。

【讨论】:

这很好,你节省了我的时间,现在我可以专心工作了,非常感谢兄弟。 这对我不起作用。 "错误:编辑器出现问题'"D:/Programs/GitExtensions/GitExtensions.exe" fileeditor'"【参考方案10】:

第 1 步:检查您当前的配置

cat .git/config

你会得到:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = https://github.com/path_to_your_git.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = your_username
    email = your_email
[branch "master-staging"]
    remote = origin
    merge = refs/heads/master-staging

第 2 步:删除您的远程来源

git remote rm origin

第 3 步:使用您的用户名和密码添加远程源

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

【讨论】:

再次添加远程源后,您还需要将分支远程和本地对齐 - 如下所示:git branch --set-upstream master origin/master【参考方案11】:

正如上面的static_rtti所说,改变

https://github.com/username/repo.git
git://github.com/username/repo.git

ssh://git@github.com/username/repo.git

我自己将 .git/config 文件中的 https 更改为 ssh,但它仍然无法正常工作。然后我看到您必须github.com 更改为git@github.com。获取实际正确 URL 的一个好方法是转到您的项目页面并单击:

Change HTTPS to SSH to get the right URL

然后将此 URL 添加到配置文件中。

【讨论】:

我的配置文件中已经有了这个我还应该检查什么? 你在github.com上也改了吗?【参考方案12】:

根据您的配置,有不同类型的身份验证。以下是一些:

    git credential-osxkeychain.

    如果您的凭据无效,请通过以下方式将其删除:

      git credential-osxkeychain erase
    

    或:

      printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
    

    所以 Git 不会再要求你提供钥匙串权限。然后重新配置。

    请参阅:Updating credentials from the OS X Keychain 在 GitHub

    您的 SSH RSA 密钥。

    为此,您需要将您的 SSH 密钥与您添加的密钥进行比较,如果您使用的是正确的身份,请通过 ssh-add -L/ssh-add -l 检查。

    您的 HTTPS 身份验证(如果您使用 https 而不是 ssh 协议)。

    使用~/.netrc(Windows 上为%HOME%/_netrc)提供您的凭据,例如

      machine stash1.mycompany.com
      login myusername
      password mypassword
    

了解详情:Syncing with GitHub Stack 溢出。

【讨论】:

【参考方案13】:

在您可以将密钥用于 GitHub 之前,请按照教程中的此步骤操作,Testing your SSH connection

$ ssh -T git@github.com
# Attempts to ssh to GitHub

【讨论】:

【参考方案14】:

当我升级到 macOS v10.12 (Sierra) 时,这发生在我身上。看起来 SSH 代理在升级时被清除了。

$ ssh-add -L
The agent has no identities.

只需运行ssh-add 即可找到我现有的身份。我输入了密码,很高兴再次访问。

【讨论】:

+1 因 Sierra 升级而中断。请注意,密码是您的 SSH 密钥的密码,而不是您的 Mac 用户密码。 执行 ssh-add 确实有效,但似乎通过关闭终端窗口重置。也许这是一个新的“功能”。 请注意 - 另一个 Sierra 更新 (10.12.2) 再次发生这种情况,但同样的修复适用。 有谁知道如何在终端关闭后不重置它? 我刚刚将我的 macbook pro 更新到 10.12.2,它破坏了我的 git。使用 ssh-add 完全适合我。谢谢@amcc!【参考方案15】:
git config credential.helper store

注意:虽然这很方便,但 Git 会将您的凭据以明文形式存储在项目目录下的本地文件 (.git-credentials) 中(“主”目录见下文)。如果您不喜欢这样,请删除此文件并切换到使用缓存选项。

如果您希望 Git 在每次需要连接到远程存储库时继续询问您的凭据,您可以运行以下命令:

git config --unset credential.helper

要将密码存储在 %HOME% 目录而不是项目目录中的 .git-credentials 中:使用 --global 标志

git config --global credential.helper store

【讨论】:

【参考方案16】:

还要寻找谁在向您询问密码。是 Git 还是您的 SSH 代理?

就我而言,每次我做git pull 时,它都会问我:

Enter passphrase for key '/work/username/.ssh/id_rsa':

所以我认为是 Git 要求输入密码。所以我一直在寻找解决方案,后来才意识到我的 SSH 代理已经关闭。可以使用eval $(ssh-agent)ssh-add 修复,如给定的here.

我还在下面粘贴一个小 sn-p,您可以将其添加到您的 ~/.bashrc 文件(或等效文件)中,以确保您的 SSH 代理在您登录时启动。

无论如何,这是我犯的一个非常愚蠢的错误,但将其发布在这里,以防万一它可以帮助某人节省一些时间,以免像我一样吠叫错误的树。

# Start the ssh-agent
function start_agent 
    echo "Initializing new SSH agent..."

    # Spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > $SSH_ENV
    echo succeeded
    chmod 600 $SSH_ENV
    . $SSH_ENV > /dev/null
    /usr/bin/ssh-add


if [ -f "$SSH_ENV" ]; then
     . $SSH_ENV > /dev/null
     ps -ef | grep $SSH_AGENT_PID | grep ssh-agent$ > /dev/null || 
        start_agent;
    
else
    start_agent;
fi

【讨论】:

很确定你在上面的代码中遗漏了一行 - 根据***.com/a/18915067/277023,你需要有SSH_ENV="$HOME/.ssh/environment"【参考方案17】:

使用以下命令增加超时时间,以便您可以重新输入密码一段时间

git config --global credential.helper 'cache --timeout 3600'

我将它用于 Bitbucket 和 GitHub,它适用于两者。你唯一需要做的就是 3600 以秒为单位。将其增加到您想要的任何程度。我将其更改为259200,大约是 30 天。这样我每 30 天左右重新输入一次密码。

【讨论】:

好吧,我发现重启后就不会这样了,所以重启后还是需要输入密码,不管超时... 这是在缓存中制作的好方法 :) 至少节省了我的时间。谢谢 @BenWinding 因为它将凭据存储在内存中。【参考方案18】:

如果您使用的是 Windows,并且突然在 GitHub 上开始出现这种情况,可能是由于 GitHub 最近在 2018 年 2 月 22 日disabling support for deprecated cryptographic algorithms,在这种情况下,解决方案只是下载并安装最新版本的完整版Git for Windows 或者只是Git Credential Manager for Windows。

【讨论】:

【参考方案19】:

我觉得 static_rtti 提供的答案在某种意义上是 hacky。我不知道这是否在早期可用,但 Git 工具现在提供凭据存储。

缓存模式

$ git config --global credential.helper cache

使用“缓存”模式将凭据保存在内存中一段时间​​。没有任何密码存储在磁盘上,并且会在 15 分钟后从缓存中清除。

商店模式

$ git config --global credential.helper 'store --file ~/.my-credentials'

使用“存储”模式将凭据保存到磁盘上的纯文本文件中,并且它们永不过期。

我个人使用的是商店模式。我删除了我的存储库,克隆了它,然后不得不输入我的凭据一次。

参考:7.14 Git Tools - Credential Storage

【讨论】:

对于 Windows credential.helper cache 不起作用。应该是git config --global credential.helper wincred 存储它有效,现在它允许我提交我的更改而无需一直提示输入密码,你是救生员! 在 Linux 中,这为我完成了工作git config --local credential.helper store。在我的情况下,我通过 HTTPS,这样我只输入一次用户名/密码,之后,我的凭据被从 ~/.git-credentials 重用【参考方案20】:

如果每次您尝试与 GitHub 交互时,Git 都会提示您输入用户名和密码,那么您可能正在为您的存储库使用 HTTPS 克隆 URL。

使用 HTTPS 远程 URL 有一些优势:它比 SSH 更容易设置,并且通常可以通过严格的防火墙和代理。但是,它还会在您每次拉取或推送存储库时提示您输入 GitHub 凭据。

您可以配置 Git 为您存储密码。 对于 Windows

git config --global credential.helper wincred

【讨论】:

【参考方案21】:

在适用于 Linux 的 Windows 子系统 (WSL) 上,这是我发现的唯一可行的解​​决方案:

eval `ssh-agent`; ssh-add ~/.ssh/id_rsa

这是 ssh-agent 没有在 WSL 中正确注册的问题。

【讨论】:

玩了一会儿,但这就是解决我的问题的原因。【参考方案22】:

如果您想stop Git from always asking您获取您的 GitHub 存储库的登录凭据,这很容易做到。

使用 SSH 而不是 HTTPS

您可以使用 SSH 而不是 HTTPS 更新源远程"

git remote set-url origin git@github.com:username/your-repo.git

配置 Git 以存储您的密码和用户名

以下是让 Git 存储用户名和密码的方法:

git config --global credential.helper store

接下来,保存会话的用户名和密码:

git config --global credential.helper cache

【讨论】:

【参考方案23】:

Microsoft Stack 解决方案(Windows 和 Azure DevOps)

首先打开.git/config文件,确保地址如下:

protocol://something@url

例如Azure DevOps 的 .git/config:

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

如果问题仍然存在,请打开 Windows 凭据管理器,单击名为 Windows 凭据 的保险箱并删除所有与 git 相关的凭据。

现在下次登录 git 时,它不会再消失了。

【讨论】:

【参考方案24】:

运行 macOS Cataline 10.15,钥匙串缓存方法对我不起作用。我想使用https:// 而不是ssh

这对我有用:

git remote rm origin

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

这也应该在 GitLab 上工作

确保用户名是否包含电子邮件地址,以删除 @email 部分,否则您将收到一条错误消息,指出 URL using bad/illegal format or missing URL

希望这会有所帮助!

【讨论】:

这是唯一对我有用的解决方案。 your_git_username 很关键。实际上没有必要输入 :your_git_password。此时,尽管它仍然要求输入“密码”,但它现在会接受帐户密码。【参考方案25】:

如果您设置了 SSH 代理,您还可以将其添加到您的 ~/.gitconfig 以强制 git 对所有 GitHub 存储库使用 SSH 而不是 HTTPS:

[url "ssh://git@github.com/"]
    insteadOf = git://github.com/
    insteadOf = https://github.com/

(如果您主要使用公共存储库,您也可以使用pushInsteadOf 而不是insteadOf,因为无需身份验证即可从公共存储库读取)。

【讨论】:

【参考方案26】:

我遇到了同样的问题。 MacOS Mojave 钥匙串不断要求输入密码。为了安全起见,您的 id_rsa 应使用密码进行加密。 然后尝试将其添加到钥匙串ssh-add -K ~/.ssh/id_rsa

如果您的密钥位于 ~/.ssh 以外的另一个文件夹中,则替换为正确的文件夹。

Keychain 现在知道您的 ssh 密钥,希望现在一切正常。

如果您仍然遇到问题,请尝试

1. brew install keychain

2. echo '/usr/local/bin/keychain $HOME/.ssh/id_rsa' >> ~/.bash_profile
   echo 'source $HOME/.keychain/$HOSTNAME-sh' ~/.bash_profile

3. ssh-add -K ~/.ssh/id_rsa

希望它现在应该可以工作了。

【讨论】:

谢谢!最佳解决方案对我不起作用,但像你说的那样使用 ssh-add 最终为我解决了这个问题。 由于“-K”标志已被弃用,请改用“--apple-use-keychain”:ssh-add --apple-use-keychain ~/.ssh/id_rsa【参考方案27】:

如果您使用https 协议,Git 会提示您输入密码。如果您使用ssh,它将使用您的私钥进行身份验证,而不是询问密码。 (https://help.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)

以下是解决此问题的方法:

git remote -v

这将显示来源的网址。你会注意到这个网址中的https。 (例如:https://github.com/PrestaShop/PrestaShop.git)

现在,您必须先删除它并添加带有ssh 的网址

git remote remove origin

git remote add origin git@github.com:PrestaShop/PrestaShop.git

【讨论】:

【参考方案28】:

我遇到了这个问题。回购要求我每次都输入凭据。我所有其他的回购都没有要求我提供凭据。他们甚至被设置为在相同的帐户凭据下使用 HTTPS 跟踪 GitLab,所以奇怪的是,除了一个之外,它们都运行良好。

比较 .git/config 文件,我发现导致问题的 URL 有 2 个关键差异:

是否要求提供凭据:

https://gitlab.com/myaccount/myproject

不要求提供凭据:

https://myaccount@gitlab.com/myaccount/myproject.git 

所以添加“myaccount@”和“.git”解决了我的问题。

【讨论】:

【参考方案29】:

就我而言,当我尝试 cherrypick 如下所示的 URL 时,总是收到密码提示:

git fetch http://username@gerrit-domainname/repositoryname refs/changes/1/12345/1 && git cherry-pick FETCH_HEAD

在另一台机器上挑选该 URL 时效果很好。但是,当我尝试使用 正确的密码 abc@12345 进行挑选时,我曾经遇到以下错误:

remote: Unauthorized
remote: Authentication failed for http://username@gerrit-domainname  

在我的 git 配置文件中,远程 URL 如下所示:

url = ssh://gerrit-domainname:8080/wnc

解决方案: 我通过提供我在 找到的 HTTP 密码 解决了身份验证失败问题 我的 gerrit 帐户 -> 设置 -> HTTP 密码

HTTP 密码类似于 Th+IsAduMMy+PaSS+WordT+RY+Your+OwNPaSs,与我的实际密码 abc@12345 大不相同

注意:我的 cherrpick 网址以 git fetch ... 开头因此,此解决方案可能适用于网址以 git fetch ... 开头的 git checkout/download

【讨论】:

【参考方案30】:

面临同样的问题。

请确保您已正确设置远程来源:

$git remote add origin master "https://...git " 

【讨论】:

以上是关于Git一直提示我输入密码的主要内容,如果未能解决你的问题,请参考以下文章

解决git一直输入用户名和密码的问题

删除git中缓存的用户名和密码

删除git中缓存的用户名和密码

Gitlab在推送git用户时提示输入密码

Git Bash输错账号密码如何重新输入

git clone 提示输入git@xxx的密码