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。
而不是https
或git
之一:
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 -K
或ssh-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 还有一个很好的理由,因为出于安全原因,许多公司网络只允许端口 80 和 443 上的流量。 您需要 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
【讨论】:
对于 Windowscredential.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一直提示我输入密码的主要内容,如果未能解决你的问题,请参考以下文章