gpt4 book ai didi

尝试 git push 时出现 java 堆空间错误

转载 作者:行者123 更新时间:2023-11-30 03:15:03 26 4
gpt4 key购买 nike

我一直在尝试将我的提交推送到 git 存储库,但它显示“java 堆空间错误”。推送日志如下所示:

Counting objects: 108, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (93/93), done.
POST git-receive-pack (chunked)
Writing objects: 100% (108/108), 561.41 MiB | 4.91 MiB/s, done.
Total 108 (delta 51), reused 0 (delta 0)
error: unpack failed: error Java heap space
To https://repo_address
! [remote rejected] dev -> dev (n/a (unpacker error))
error: failed to push some refs to 'https://repo_address'

我在网上做了一些研究,但是有一些针对 gerrit 的解决方案,但我没有使用。

最佳答案

此答案是为了解决您从当前提交中删除大文件,然后重新推送您的提交以查看是否是大型安装导致问题的问题。

想象一下从这个目录结构开始:

.git/
libs/somefile.jar
/someotherfile.jar
src/otherstuff.java

在您当前的情况下,您的提交中有一堆文件正在尝试推送,但您意识到您实际上想要删除一些上游不需要的已添加的额外文件,但您确实想保留本地化,但也要做到这一点,这样他们就不会被推高。

您可以使用以下命令查看当前提交中有哪些文件:

git log --pretty=format:"%h %s" --decorate --numstat HEAD^..HEAD

现在,我们要创建一个不包含 libs/文件夹的新提交对象,并将其标记在 .gitignore 中,以便将来永远不会添加它。

# either do this recursively to the dir with this command:
git rm -r --cached libs

# or individual name the files:
git rm --cached libs/somefile.jar
git rm --cached libs/someotherfile.jar

现在您有了本地更改,您可以使用 git status 查看它们:

$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

deleted: libs/somefile.jar
deleted: libs/someotherfile.jar

Untracked files:
(use "git add <file>..." to include in what will be committed)

libs/

如果您查看文件系统,文件应该仍然存在。这就是 --cached 所做的 - 保留工作区文件,只是从 git 存储库中删除它们。

现在我们编辑 .gitignore 文件并添加 /libs/ 条目或单独命名文件,然后将其添加到您的变更集中:

git add .gitignore

最后,我们要提交所有这些更改,用其中的所有大文件替换旧的提交。

这是通过git commit --amend完成的。这一切所做的就是用新的提交替换当前的提交,而不是在旧的提交之上添加新的提交。

它将 pop 提交消息的常用对话框。如果您愿意,可以保持原样,或者在提交消息中添加一些附加注释。这将是新提交的提交消息,完全替换旧提交(即 lib 文件将从提交中消失)。

如果你执行 git status,你应该会看到你仍然比 origin/master 早 1 个提交,并且如果你检查提交本身中的文件(使用 git log ...上面的命令)它不应该包含任何不需要的文件。

现在尝试推回到远程。

如果您在之前的情况中遇到困难,请发布您的 git status 输出。它通常会为您提供了解如何继续所需的所有提示。

关于尝试 git push 时出现 java 堆空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32838683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com