git 推送到 github 失败并显示“错误:pack-objects 因信号 967 死亡”

2024-05-21

我触发了这个命令:

git push origin master

我得到这个结果:

Counting objects: 15626, done.
Delta compression using up to 4 threads.
error: pack-objects died of signal 967
error: pack-objects died with strange error

没有967号信号,但有is信号编号 9,即SIGKILL在 Linux 和 Unix 系统上。我认为有东西打印了一行以67,然后回车,然后是您本地的git pack-objects被“OOM杀手”击中了。

你需要做的就是给你的Linux系统(这是your系统,而不是您要推送的系统)更多内存,或推送较小的提交(或两者兼而有之)。在这种情况下,“内存”可以是真实的物理 RAM 或虚拟内存:系统可以将占用内存的大多数空闲程序中的空闲内存内容写入交换空间。要获得更多的物理内存,当然可以安装更多的DRAM芯片;或者您可以退出任何不需要继续运行的占用内存的程序。

您还可以调整 Git 的内存使用设置,以便使用更少的内存来进行对象压缩,但通常没有充分的理由这样做(除非您有一个非常旧的 Git 版本:较新的版本检测到巨大的二进制文件并且甚至不attempt来压缩它们)。

Details

当 Git 进行推送时,您通常会看到这些:

Counting objects: nnnnn, done.

and:

Compressing objects:  nn% (mmmmm/nnnnn)

进度消息,让您放心,Git 实际上正在做一些事情,否则这可能看起来是一个很长的停顿。这些来自git pack-objects, which git push运行以生成 Git 所称的薄包装,发送到您要推送数据的另一个 Git。

你的 Git 实际上完成了“计数对象”阶段,并进入了“压缩对象”阶段,该阶段更加占用内存。

So, git pack-objects正在愉快地打印进度线:

Compressing objects:  xx% (xxxxx/xxx69)

每次打印输出后,它将光标发送回行首,以便下一行覆盖前一行,最终会显示“100% (nnnnn/nnnnn),完成”。 (一旦到达该点,它就会打印换行符,而不仅仅是回车符。)

遗憾的是,此时 Linux(或者您正在使用的任何系统)认为太多程序使用了太多内存,并选择了git pack-objects作为“内存不足”杀戮的受害者。它杀掉了git pack-objects with SIGKILL,信号 9。

这使得你的推送打印如下:

error: pack-objects died of signal 9

在上一个进度线的顶部,留下:

error: pack-objects died of signal 967)

(注:我不知道所有的数字是什么x-s 是,除了它们必须以67。错误信息是not前缀为remote:, but should结束于signal 967)——即带有右括号的字符串——而不仅仅是signal 967.)

OOM 杀手意味着您的系统内存不足。事实是它选择了git pack-objects作为其受害者并不一定意味着git pack-objects本身就是reason你的系统内存不足。这只是系统在满溢的鱼缸里看到的最大的一条鱼。 Linux 选择取出那一条,而不是取出 5 条较小的鱼。

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

git 推送到 github 失败并显示“错误:pack-objects 因信号 967 死亡” 的相关文章

  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • 将 github 上的包安装到 Spyder 中

    我一直在尝试安装并导入mpl finance来自 github 的包 在我的 Spyder 环境中没有成功 我努力了 pip install e git https github com matplotlib mpl finance git
  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 如何签出仅在“git ls-remote”中列出的分支?

    我遇到了无法切换到仅列出的分支的情况git ls remote 这是详细信息 我分叉了一个 github repoA 作为 repoB 创建了自己的分支并将其推送到 ComputerA 中的 repoB 在 ComputerB 中 我将分叉
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 我可以忽略全局 .gitignore 吗?

    我的全局 gitignore 一般都很棒 但对于这个一次性项目 我不希望应用全局规则 如何删除这个怪异存储库的全局 gitignore 规则 在您的存储库中运行此命令 git config local core excludesfile f
  • 执行 git Push 时出现“diff.renamelimit 变量”警告

    我将本地提交推送到远程 git 服务器并收到以下警告消息 remote warning only found copies from modified paths due to too many files remote warning y
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • 自动同步两个 git 存储库

    是否可以保持同步两个 Github 存储库 远程 的特定文件夹 有两个 github 存储库 repoA 和 repoB 这两个存储库都有名为 ABC 的文件夹以及其他独特的文件夹 如果repoA的文件夹ABC中的任何文件有更新 我想自动更
  • 清理远程 Git 分支

    我已经将 SVN 存储库移至 Git 可能由于多次克隆 我现在只剩下一堆看起来像这样的分支 BranchA origin BranchA remotes BranchA remotes origin BranchA remotes orig
  • 为什么 Github API 只返回前 100 个监视的存储库?

    我正在 Github 上查看 392 个存储库 然而 Github API 只返回 100 有人知道为什么吗 https github com api v2 json repos watched trivektor https github
  • 将 Visual Studio 在线 Git 存储库集成到 Android Studio 1.0.2

    我正在使用 Visual Studio Online 进行开发过程 我想将我的 Android Studio 1 0 2 代码集成到其中 但是 据我所知 Android Studio 没有 TFS 插件 这就是为什么我想使用 Git 进行源
  • http.h:6:23: 致命错误:curl/curl.h:没有该文件/目录

    我在 CentOS 7 中下载 git 包 wget https www kernel org pub software scm git git 2 0 1 tar gz tar xzf git 2 0 1 tar gz 当我编译git时
  • 如何让 git 显示作者日期指定日期范围内的提交?

    显然this https stackoverflow com a 11189286 281545 git log all after
  • 使用 GitHub,在添加现有存储库时如何推送所有分支?

    我创建了一个新的 GitHub 存储库 我想将现有的存储库放在那里 我按照说明操作 cd existing git repo git remote add origin email protected cdn cgi l email pro
  • GitPython 检查 git pull 是否更改了本地文件

    使用 GitPython 我只想在拉取后本地文件发生更改时才调用函数 例如 如果我在一台单独的计算机上进行推送 然后拉第一台计算机 它按预期工作 但不提供任何输出 理想的输出是已更改的文件列表 或者只是告诉我拉动是否有错误 没有拉动 因为分
  • 创建多个 git 分支的联合分支

    我希望能够在现有分支之上分层其他分支 并独立修改这些分支 这很有用 例如 允许将各个子项目的二进制文件统一到同一个项目中bin目录 一般来说 给定的文件仅存在于一层中 理想情况下 我想我会使用 unionfs 来完成此任务 但它必须以某种方
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除

随机推荐