ChatGPT解决这个技术问题 Extra ChatGPT

Git一直提示我输入密码

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

我正在使用 Mac OS X 和 GitHub,并按照 GitHub 的 Set Up Git page 的指示设置了 Git 和我的 SSH 密钥。

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

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

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

B
Bizhan

我认为您可能有错误的 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 文件并将 [remote origin] 之后的 url = "..." 部分编辑为 url = ssh://github/username/repo.git

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

例如,用于 Azure DevOps 的 .git/config

[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
C
Community

配置 credential.helper

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

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 还有一个很好的理由,因为出于安全原因,许多公司网络只允许端口 80 和 443 上的流量。
您需要 git 1.7.10 或更新版本才能使用凭证助手。
+1 用于 keychain.app 解决方案。这对我来说是 GREAT,因为我雇主的 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 目录中的配置文件修复了我。
P
Peter Mortensen

当我升级到 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!
m
marteljn

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

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

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

正如其他人所说,您可以安装密码缓存助手。我主要只是想发布其他平台的链接,而不仅仅是 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 说明,这些应该在主要答案中,因为它是一个经常被引用的问题。
P
Peter Mortensen

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

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

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

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

我还粘贴了一个小片段,您可以将其添加到 ~/.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


很确定您在上面的代码中遗漏了一行 - 根据 stackoverflow.com/a/18915067/277023,您需要有 SSH_ENV="$HOME/.ssh/environment"
L
Lokesh S
git config credential.helper store

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

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

git config --unset credential.helper

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

git config --global credential.helper store

P
Peter Mortensen

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

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

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


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

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

git config --global --edit

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

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

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


这工作完美,你节省了我的时间,现在我可以专注于我的工作,非常感谢兄弟。
这对我不起作用。 “错误:编辑器出现问题'”D:/Programs/GitExtensions/GitExtensions.exe“fileeditor'”
P
Peter Mortensen

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

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


没有人应该再使用腻子了。您现在可以使用内置的 Windows 10 实用程序完成所有操作。让腻子,只是腻子。
A
Ahmed

如果您想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

P
Peter Mortensen

我觉得 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
P
Peter Mortensen

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

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

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

git config --global credential.helper wincred

M
Marko

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

输入终端:

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 询问我的密码!
m
mbomb007

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

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

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


一直很忙,但这就是解决我的问题的原因。
F
FrostyDog

我有同样的问题。 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

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

更新: -K 标志已被弃用。请改用以下内容:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519 # path to private key

谢谢!顶级解决方案对我不起作用,但像你说的那样使用 ssh-add 最终为我解决了这个问题。
由于不推荐使用“-K”标志,请改用“--apple-use-keychain”:ssh-add --apple-use-keychain ~/.ssh/id_rsa
I
ICeZer0

运行 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。此时,即使它仍然要求输入“密码”,它现在也会接受帐户密码。
S
Snoi Singla

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

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

git remote -v

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

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

git remote remove origin

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


P
Peter Mortensen

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上怎么办。
P
Peter Mortensen

正如上面的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 上也改了吗?
P
Peter Mortensen

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

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

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


P
Peter Mortensen

第 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
P
Peter Mortensen

根据您的配置,有不同类型的身份验证。这里有几个:

git 凭证-osxkeychain。如果您的凭据无效,请通过以下方式将其删除: git credential-osxkeychain erase 或: printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase 所以 Git 不会再向你询问钥匙串权限。然后重新配置。请参阅:从 GitHub 上的 OS X 钥匙串更新凭据 Your SSH RSA key。为此,您需要将您的 SSH 密钥与您添加的内容进行比较,如果您使用的是正确的身份,请通过 ssh-add -L/ssh-add -l 检查。您的 HTTPS 身份验证(如果您使用 https 而不是 ssh 协议)。使用 ~/.netrc(Windows 上的 %HOME%/_netrc),提供您的凭据,例如机器 stash1.mycompany.com login myusername password mypassword

了解详情:Syncing with GitHub 在 Stack Overflow。


P
Peter Mortensen

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

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

P
Peter Mortensen

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


n
nyuszika7h

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

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

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


B
Bizhan

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 时,它就不会消失了。


J
Jonathan Hale

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

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

是否要求提供凭据:

https://gitlab.com/myaccount/myproject

不要求提供凭据:

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

因此,添加“myaccount@”和“.git”解决了我的问题。


R
Rohit Gaikwad

就我而言,当我尝试挑选如下 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

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

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

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


S
Salahuddin Ahmed

面临同样的问题。

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

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