几天前,每次我在存储库中启动Git GUI时,它会显示这个可怕的错误消息,并在单击OK后退出:
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.
Run Code Online (Sandbox Code Playgroud)
它只发生在Git GUI上,只有在存储库(旧的或新创建的)中才会发生.Git Bash中的常用命令包括提交工作正常.
使用较新的软件包卸载和重新安装(仅更改次要版本)并未解决此问题.它仍然发生在旧的存储库以及新创建的存储库中.
在干净的机器上这个问题不会重现,所以我想这是我的盒子上的东西,但我不记得安装任何有趣的东西.我记得在很长一段时间之后关掉我的盒子,所以也许有些Windows Update可能会触发这个 - 这也可以解释为什么其他机器不会受到影响 - 这是自上次Win更新后的2-3个月.
任何想法如何阐明这一点?(因为我只能在一台机器上看到它,在我知道它不是我/其他应用程序的错误之前我不想将它提交给官方跟踪器......)
第一条评论后更新:
如果删除或重命名钩子脚本,它是否有效?
有趣的是,但钩子脚本实际上根本不存在(没有钩子脚本存在 - .git\hooks中只有*.sample文件).甚至没有其他地方(git program dir等)
跟踪它,以便您知道它运行的命令 - 来自git-bash run
git gui --trace
遗憾的是,这不会向shell输出任何内容.行为是一样的.
也许在那里得到gdb.
我试过,但gdb没有输出任何有用的东西.但是,我对GDB没有任何经验,我可能做错了.我得到了一个MinGW的gdb,从命令提示符下以git.exe作为参数运行它,然后运行run gui …
最近我安装了Git(使用Bit bucket for repository).我根据网上找到的不同指南配置了所有内容,但每当我使用该命令时,git push -u origin --all我都会收到以下错误:
无法在动态链接库libcurl.dll中找到过程入口点curl_multi_timeout