GitHub & Tortoisegit:git 没有干净地退出(退出代码 128)
Posted
技术标签:
【中文标题】GitHub & Tortoisegit:git 没有干净地退出(退出代码 128)【英文标题】:GitHub & Tortoisegit: git did not exit cleanly (exit code 128) 【发布时间】:2021-11-23 23:45:30 【问题描述】:我克隆了一个存储库,效果很好。 不幸的是,我里面的文件有问题,所以我决定从新开始。 我删除了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)
我尝试了很多方法来解决这个问题:
重新生成新的 SSH 密钥并将其存储在 github 上 创建另一个具有不同名称的存储库 重新安装乌龟git 还试图找到一个index.lock(找不到) 重新配置名称和电子邮件(也使用 git bash)(这些信息是否必须与 github 帐户上的相同?)这很奇怪,但尽管我重新安装了全新的 tortoise git,但他仍然显示正确的 SSH-Key 路径,但它是灰色的,所以如果我想更改,我也无法更改。
尝试了来自How to resolve "git did not exit cleanly (exit code 128)" error on TortoiseGit?的所有解决方案
【问题讨论】:
【参考方案1】:首先尝试直接从命令行克隆它:
git -c "core.sshcommand='ssh -Tv'" clone --progress -v "git@github.com:USER/REPOSITORY.git" "E:\FOLDERNAME"
core.sshcommand='ssh -Tv'
会告诉您是否正在读取正确的 SSH 密钥。
检查您没有任何 SSH_xxx
或 GIT_SSHxxx
环境变量。
一旦克隆从命令行运行,您就可以开始并通过 TortoiseGit 进行尝试。
【讨论】:
感谢您的回答。没有设置环境变量。 $ git -c "core.sshcommand='ssh -Tv'" clone --progress -v "git@github.com:USER/REPOSITORY.git" "E:\FOLDERNAME" 克隆到 'E:\FOLDERNAME'.. . 'ssh -Tv': ssh -Tv: command not found fatal: 无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。 TortoiseGit -> Show Environment Variables 显示一个包含变量的文件 (PatB03E.tmp),但我无法通过 wondows 设置找到它们。 GIT_SSH=C:\Program Files\Git\usr\bin\ssh.exe SVN_SSH=C:\Program Files\Git\usr\bin\ssh.exe DISPLAY=:9999 SSH_ASKPASS=C:\Program Files\TortoiseGit\bin\ SshAskPass.exe GIT_ASKPASS=C:\Program Files\TortoiseGit\bin\SshAskPass.exe GIT_ASK_YESNO=C:\Program Files\TortoiseGit\bin\SshAskPass.exe @C.Hillert 是的,永远不要使用 putty 或 Tortoise SSH。始终使用 Git For Windows 附带的 openSSH。【参考方案2】:找到了解决办法。由于一些故障排除解决方案,我将TortoiseGit > Settings > Network
的 SSH 客户端从 ssh.exe 更改为 git 使用的相同。因此,TortoiseGit 克隆窗口中的私钥路径字段是灰色的。
我现在输入了TortoiseGitPlink.exe
,所以该字段被释放,现在我可以设置新的私钥路径了。
不幸的是,现在我收到了错误 No supported authentication methods available (Sever sent: public key)
。
所以我将 SSH-Client 改回ssh.exe
(没有直接路径),现在它工作正常!
我真的不知道出了什么问题,但它现在有效,我很高兴。
【讨论】:
以上是关于GitHub & Tortoisegit:git 没有干净地退出(退出代码 128)的主要内容,如果未能解决你的问题,请参考以下文章
软件git,github for window,tortoisegit有啥区别
软件git,github for window,tortoisegit有啥区别
软件git,github for window,tortoisegit有啥区别