为什么git rebase会失去内存,而cherry-pick有效?

时间:2014-07-04 09:40:00

标签: git

有时rebasing提交,这是巨大的(超过100MB的谈话方式),git会达到内存限制并中止。奇怪的是,当我cherry-pick这些一个接一个地提交时,它可以正常工作。

我之前曾想过,rebase大多数会在后台执行cherry-pick,但似乎我错了。 rebase做了哪些不同的事情,它消耗了大量内存?

1 个答案:

答案 0 :(得分:0)

好吧,cherry-pick接受提交(将其视为包含所有提交更改的单个补丁文件)并将其应用于另一个分支的当前状态。

rebase接收您的分支,回滚所有未合并的提交,使用您正在重新定位的分支更新您的分支,并重新应用您拥有的所有未合并的提交。我猜它会在此过程中将回滚提交保留在内存中。根据未合并提交的性质和大小,这可能很大。

在任何情况下,我都会认为这是git中的一个错误,如果你能确定它是什么让git中止,那可能有助于处理这些情况。