git push期间索引包异常退出

时间:2019-01-25 07:29:32

标签: git

在我的功能分支上重新建立master分支后,我不断收到错误消息。我已经搜索了谷歌,找到了一些解决方案,但对我没有用。重新设置基准后,我将执行 git status 。它会像这样返回

On branch test/263-junit-test-390
Your branch and 'origin/test/263-junit-test-390' have diverged,
and have 60 and 35 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

之后,我运行 git push -f origin branch_name 。我明白了。

Counting objects: 568, done.
Compressing objects: 100% (271/271), done.
Writing objects: 100% (568/568), 9.32 MiB | 703.00 KiB/s, done.
Total 568 (delta 304), reused 454 (delta 202)
error: index-pack died of signal 98/304)
error: remote unpack failed: index-pack abnormal exit

1 个答案:

答案 0 :(得分:0)

这是在我们随时提交大文件时发生的。假设提交后,我们删除了此文件,但是如果将其推入过去,则会出现问题。 尽管这些大文件已删除,但当我们在git上进行本地更改时,它将重新打包,这将花费很长时间。

我们可以使用此命令检查提交历史记录

git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sed -n 's/^blob //p' | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest

然后,我们必须从git中清除这些文件历史记录。然后它将起作用。要清除历史记录,我们可以点击此链接

https://help.github.com/articles/removing-sensitive-data-from-a-repository/

NB :我添加了此答案,因为它可能对其他人有帮助