GitHub & Tortoisegit: git 没有完全退出(退出代码 128)

GitHub & Tortoisegit: git did not exit cleanly (exit code 128)

我克隆了一个存储库,效果很好。 不幸的是我里面的文件有问题所以我决定从新开始。 我删除了 github 上的 repo 和我电脑上的文件夹。

之后我再次创建了 repo 并尝试将其克隆回 PC 我一直收到此错误。

git.exe clone --progress -v "git@github.com:USER/REPOSITORY.git" "E:\FOLDERNAME"
Cloning into 'E:\FOLDERNAME'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


git did not exit cleanly (exit code 128) (672 ms @ 03.10.2021 01:07:48)

为了解决这个问题我做了很多努力:

这很奇怪,但尽管我重新安装了 Tortoise git 全新的,他仍然显示正确的 SSH 密钥路径,但它是灰色的,所以如果我想改变我也不能。

尝试了以下所有解决方案:How to resolve "git did not exit cleanly (exit code 128)" error on TortoiseGit?

首先尝试直接从命令行克隆它:

git -c "core.sshcommand='ssh -Tv'" clone --progress -v "git@github.com:USER/REPOSITORY.git" "E:\FOLDERNAME"

core.sshcommand='ssh -Tv' 会告诉您读取的 SSH 密钥是否正确。

检查您没有任何 SSH_xxxGIT_SSHxxx 环境变量。

克隆在命令行运行后,您可以通过 TortoiseGit 启动并尝试。

找到解决方案。由于一些故障排除解决方案,我将 TortoiseGit > Settings > Network 的 SSH 客户端从 ssh.exe 更改为与 git 使用的相同。因此,TortoiseGit 克隆 window 中的私钥路径字段显示为灰色。 我现在输入 TortoiseGitPlink.exe,所以该字段被释放,现在我可以设置新的私钥路径。

不幸的是,现在我得到了错误 No supported authentication methods available (Sever sent: public key)。 所以我将 SSH 客户端改回 ssh.exe(没有直接路径),现在它工作正常!

我真的不知道到底出了什么问题,但现在可以用了,我很高兴。