How to resolve "git did not exit cleanly (exit code 128)" error on TortoiseGit?

我在提交和 创建了一个错误报告时遇到了这个严重的错误。

我在 TortoiseGit 操作中一直遇到这个错误:

Git 没有完全退出(退出代码128)

我已经重新安装了程序,重新启动,并试图克隆一个新的回购从 github-似乎没有工作。我还删除了% appdata% Tortoise git 文件夹... 我现在不知所措。有什么建议吗?

556414 次浏览

如果你运行的是 windows 7:

我试图决定安全做这件事的最佳方法,但懒惰的方法是:

  1. 右键单击父文件夹
  2. 点击“属性”按钮
  3. 点击“安全”标签
  4. 点击“编辑”按钮
  5. 点击以“用户”开头的组
  6. 点击“完全控制”复选框
  7. click all the OK's to close the dialogs.

我意识到这可能会绕过 Windows 的“安全”特性,但它可以完成任务。

这可能是因为您的 SSH 密钥已经被删除/撤销了。请创建一个新的密钥并将其添加到您的 GitHub 帐户。

在我的例子中,服务器上名为 git 存储库的目录中的一个文件夹导致了故障。

对我来说,我尝试用 TortoiseGit 检查一个 SVN 项目。不过如果我用 TortoiseSVN 就可以了。(这一点似乎显而易见,但新来者可能会在这一点上遭遇挫折)

Win764:

git-gui gives a good answer: a previous git has crashed and left a lock file. Manually remove. 在我的例子中,这是在. git/ref/head/branchname.lock 中。

删除,错误128消失。令人惊讶的是 tortoisegit 没有给出这样一个简单的解释。

git-bash报告 无法创建 <Path to git repo>/.git/index.lock: 文件存在。

Deleting index.lock makes the error go away.

In my case, I forgot to add git to the respository name at the end.

我确实恢复了很多次,它对我很有效,确保在恢复时取消检查文件,你需要更改。把你的修改藏起来,然后再拉一次。

对我来说,我只需要添加如下命令来配置我的 git 用户名和电子邮件:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

确保配置文件中的用户名和电子邮件字段不为空。并尝试克隆到一个空目录。这些步骤对我很有效。

我也有同样的问题,我用下面的方法解决了。

我已经安装了 NVIDIA 的“ Tegra Android 开发包”,它似乎也有一个版本的 mysysgit.exe。TortoiseGit 自动找到安装位置(而不是标准的 git 安装) ,并在设置菜单中自动填充它。

要更正这一点,请转到: “ Settings-> General”,这里有一个 mysysgit.exe 路径的字段。确保它指向正确的安装。

对我来说,是因为代理人。企业网络需要一个代理,TortoiseGit/Git 似乎不能自动从 Windows Internet 设置中获取信息。设置代理地址解决了这个问题。

删除索引锁对我有用

一个快速的解决方案是创建一个新的本地目录,例如 c: Git _ 2014,在这个目录中右击并选择 Git Clone

虽然,这是一个非常古老的线程,最近我得到了这个错误,在我的情况下,链接被打破。当到 GitHub 的链接被修复时,它工作了。