[这个问题基本上是重新开放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?
失败与两个分支及其共同祖先有三个.dat文件的事实有关,每个文件都是0.5 GB。
在这种情况下如何进行变基?
其他信息:
答案 0 :(得分:1)
你不知道你的机器是否足够大,直到'git rebase'失败,但到那时你的目录处于一个状态。在rebase期间,另一个分支被检出(主要),以便'secc'更改可以应用于它。恢复,继续:
git checkout secc
如果你已经注意到你有两个选择,那就是在篮板上失败了:
您没有实际的选择来忽略0.5GB文件,执行rebase,然后重新获取这些giga文件。
答案 1 :(得分:1)
在评论中你曾说过,对于包含更多内容的计算机(在本例中为32GB),内存已经解决了这个问题。基于此,我得出的结论是,您在第一次尝试使用它的机器上只有太少的内存可用。
答案 2 :(得分:0)
尝试将这些内容放入.git/info/attributes
:
# whatever gets them...
yourfile binary -delta merge=binary
*.yourext binary -delta merge=binary
如果这些文件发生变化,那将导致合并冲突,你必须弄清楚如何处理它们。检查gitattributes和rebase doc以获取其他合并策略,我甚至不会在这里命名危险的。
我不确定这是实际合并试图从运行中获取整个内核,但似乎值得一试。