[这个问题实际上是在重新打开一个从未得到答案的问题 git crash during rebase]
我正试图从我的“secc”分支进行变基:
$ git rebase main
First, rewinding head to replay your work on top of it...
fatal: Out of memory, malloc failed (tried to allocate 553656577 bytes) # about 0.5 GB
$ git rebase --abort
No rebase in progress?
出错是因为两个分支及它们的共同祖先都有三个0.5GB的.dat文件。
在这种情况下,我该如何进行rebase操作?
额外信息:
- 'git merge main'命令完全可行。
- 通过在.gitattributes中添加'*.dat merge=keepTheirs'未能防止致命错误。
- *.dat文件不同。
- 我愿意删除*.dat文件以rebase其余文件,然后再添加回*.dat文件。但是,具体方法如何?
- 我使用的是 git 1.7.9.4 版本。
git rebase
会计算一个分支中的更改差异,并在另一个提交(另一个分支的“head”)上重新应用它们。看起来Git在比较如此大的二进制文件时会出现问题。如果我是你,我会将二进制文件移动到一个git子模块
中,并保持简单的历史记录而不进行rebase操作。请参阅https://dev59.com/GHRB5IYBdhLWcg3wtZQV。 - KurzedMetal