git 提交命令 (Windows) 的分段错误

Segmentation fault for git commit command (Windows)

我已经开始使用从 bitbucket 克隆的项目。 我使用 as Git Bash 作为 SourceTree。 我更改了一个文件并尝试提交我的更改。 我可以执行命令 "add",但是当我尝试执行命令 "commit" (git commit -m "for testing") 时,出现以下错误: 分段错误。

我在 SourceTree 中也遇到了错误。 但是如果我创建我的新文件夹和文件,提交就会成功

如何解决问题? 提前致谢。

我在某个项目上遇到了同样的问题,我无法签出新的或现有的分支。 我从网站上安装了最新版本的 git,现在我的版本是

> git --version
  git version 2.13.1.windows.2

此版本似乎已解决此问题。现在。

我已经解决了这个问题。 最后一个 git 版本 (2.13.1) 有错误 - 它已于 05.06.2017 发布。 我安装了以前的版本(2.12.2),现在一切正常。

运行 git 2.15.1.windows.2 Windows 10 x64 v1709

对我来说,问题是由错误的索引引起的。要解决我 运行 项目目录中的以下内容:

rm .git/index

git reset

As you can see from the image in this link, I didn't loose any changes by performing a reset.

如果您已经安装了Git,您可以通过Git本身获取最新的开发版本:

git clone https://github.com/git/git

但这对 me.I 不起作用卸载 git 然后再次下载然后我的问题得到解决。

使用git reset SHA --hard

其中 SHA 指向错误前的有效 SHA

此点后所做的更改丢失。但是 repo 被保存了。

For me the problem was caused by a faulty index.

使用 Git 2.36(2022 年第 2 季度),您将看到更多详细信息,而不是段错误。
Git 现在检查 parse_tree_indirect() 中的 return 值,将段错误转换为对 die().
的调用 对于clone/checkout,但也可以应用于commit.

参见 commit 8d2eaf6 (01 Mar 2022) by Glen Choo (chooglen)
(由 Junio C Hamano -- gitster -- in commit bde1e3e 合并,2022 年 3 月 13 日)

checkout, clone: die if tree cannot be parsed

Signed-off-by: Glen Choo

When a tree oid is invalid, parse_tree_indirect() can return NULL.
Check for NULL instead of proceeding as though it were a valid pointer and segfaulting.