【问题标题】:GitHub & Tortoisegit: git did not exit cleanly (exit code 128)GitHub & Tortoisegit:git 没有干净地退出(退出代码 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?的所有解决方案

【问题讨论】:

    标签: git github ssh 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_xxxGIT_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(没有直接路径),现在它工作正常!

    我真的不知道出了什么问题,但它现在有效,我很高兴。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2012-06-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      相关资源
      最近更新 更多