每次打开存储库时 Git GUI 都会崩溃

2024-03-05

从几天前开始,每次我在存储库中启动 Git GUI 时,它都会显示此可怕的错误消息,并在我单击“确定”后退出:

prepare-commit-msg hook failed:

      0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x260000, State 0x10000
C:\Program Files (x86)\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

You must correct the above errors before committing.

它仅在使用 Git GUI 时发生,并且仅在存储库(旧的或新创建的存储库)中时发生。 Git Bash 中的常用命令(包括提交)工作正常。

卸载并使用较新的软件包重新安装(仅进行较小的版本更改)并不能解决该问题。无论是旧存储库还是新创建的存储库,这种情况仍然会发生。

在干净的机器上,这个问题不会重现,所以我猜这是我盒子上的东西,但我不记得安装过任何有趣的东西。我确实记得在很长一段时间后关闭了我的盒子,所以也许某些 Windows 更新可能会触发此问题 - 这也可以解释为什么另一台机器没有受到影响 - 自上次 Win 更新以来已经有 2-3 个月了。

有什么想法可以阐明这一点吗? (因为我只能在单台机器上看到它,所以在我知道这不是我/其他应用程序的错之前,我不想将其提交给官方跟踪器......)


Update第一次评论后:

  • 如果删除或重命名钩子脚本,它会起作用吗?

    很有趣,但钩子脚本实际上根本不存在(没有钩子脚本) 目前 - .git\hooks 中只有 *.sample 文件)。甚至其他地方也没有(git程序 目录等)

  • 跟踪它,以便您知道它运行了哪些命令 - 来自 git-bash rungit gui --trace

    遗憾的是,这不会向 shell 输出任何内容。行为是一样的。

  • 也许把 gdb 放在那里。

    我尝试过,但 gdb 没有输出任何有用的东西。然而我没有任何经验 对于GDB,我可能做错了。我有一个MinGW的gdb http://sourceforge.net/projects/mingw/files/,从命令运行它 以 git.exe 作为参数提示,然后运行run gui。 gdb没有输出任何内容 有趣的:

    (gdb) run gui
    Starting program: C:\Program Files (x86)\Git\bin\git.exe gu
    [New Thread 8264.0x1ce4]
    [New Thread 8264.0x394]
    [Inferior 1 (process 8264) exited with code 01]
    (gdb)  
    

    但我几乎可以肯定我做错了,所以非常欢迎建议:)

  • 确保您没有安装 cygwin 或者至少它不存在于您的 完全路径

    我确实安装了 cygwin (在 git 崩溃之前我一直如此)。仅来自 Cygwin 我 路径中有一些 *.bat 启动器和一些 *.dll 文件,但我已经检查过 ProcMon 它不会触及它们,即使我将它们从我仍然得到的路径中删除 同样的崩溃。


这对我有用。

http://www.trinitycore.org/f/topic/5194-msysgit-couldnt-reserve-space-for-cygwins-heap/ http://www.trinitycore.org/f/topic/5194-msysgit-couldnt-reserve-space-for-cygwins-heap/

解决方案:

更改msysgit.dll的基地址

c:\msysgit\bin>rebase.exe -b 0x50000000 msys-1.0.dll

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每次打开存储库时 Git GUI 都会崩溃 的相关文章

  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m
  • Visual Studio 2012 本机 C++ DLL x86 编译

    我最近将我的工具集从 Win 7 x86 Visual Studio 2010 升级到 Win 8 x64 Visual Studio 2012 但是 现在我的本机 C dll 编译为 x64 而不是 x86 除了将代码移至新操作系统并将其
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • Labview 2011 中的 DLL 加载错误

    我在 LabVIEW 中加载 DLL 时遇到了问题 我正在使用 LabVIEW 连接到流量计 为此 制造流量计的公司非常好地为我提供了一个子 VI 库 这些子 VI 中的每一个都调用该公司提供的两个 DLL 库之一中的函数 因此 这些子 V
  • 是否可以通过 C#.NET 编写 Win32 .dll 文件?

    是否可以通过 C NET 编写 Win32 dll 文件 如果是的话 我在哪里可以找到一些教程 如果不是 那么您对编写 Win32 DLL 有什么建议 Thanks 对的 这是可能的 事实上有一个工具可以做到这一点 它在 Rainmeter
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • .gitconfig 别名函数调用

    我在 gitconfig 中定义了以下别名 alias teamcity tc tc是我在我的中定义的一个shell函数 bashrc文件 由于某种原因 我收到以下错误 aafghani 03 git workday amirafghani
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • LNK2028 托管 C++ DLL 在另一个托管 C++ DLL 中调用函数

    我正在将 VS2010 与托管 C DLL 一起使用 调用另一个托管 C DLL 中的函数 并且我得到了很多LNK2028 http msdn microsoft com en us library ms235590 28v vs 80 2
  • 如何使用 AWS Lambda 安装 Git?

    我在代码提交存储库中有代码 我正在编写一个 lambda 函数来为代码提交存储库的每个签入 事件 构建代码 我无法安装 git 因此无法克隆存储库 我该怎么办呢 正如其他人提到的 在 lambda 上安装 git 要么非常困难 要么完全不可

随机推荐