git crash при перебазировании - PullRequest
7 голосов
/ 08 октября 2011

У меня достаточно большое количество файлов в хранилище.Таким образом, git иногда дает сбой из-за нехватки памяти во время перебазирования изменений.

Например,

git checkout feature
git rebase master
(nasty out of memory exception)
.....

Так что, как только я получил это исключение, я попытался снова перебазировать

git rebase master

И мне сказали, что ветка feature актуальна.Это кажется странным, поскольку rebase завершился с исключением.

Есть ли способ избежать исключения oom?Может быть, как-то сказать git использовать меньшее количество памяти.Может ли это исключение быть причиной повреждения хранилища?Если это вызывает повреждение, есть ли способ безопасно откатить изменения, сделанные во время перебазировки, до состояния, которое было до вызова git rebase master?

Ответы [ 3 ]

8 голосов
/ 08 октября 2011
2 голосов
/ 08 октября 2011

Вы, вероятно, запускаете это на ВМ или храните некоторые большие файлы. Отфильтруйте большие файлы, если можете, или увеличьте объем памяти: /

Не так много, что я могу добавить, если у меня есть больше информации ..

0 голосов
/ 08 марта 2013

git rebase $BASE начинается с выполнения git reset --hard $BASE

Если после этого происходит сбой из-за нехватки памяти, это означает, что вы оставили указатель ветки, указывающий на $BASE вместо коммита, на который он указывалдо.

Вот почему вам говорят, что feature актуален, когда вы снова git rebase master, потому что feature уже указывает на тот же коммит, что и master после выхода изсбой памяти.

Чтобы вернуть ветку обратно к исходному коммиту, на котором вы работали ранее, запустите

git reset --hard HEAD@{1}`.

Или, если вы выполняли другую работу в ветке после сбоя, запустите git reflog чтобы найти исходный коммит.

См. Также Отмена git rebase


После того, как вы вернули свою ветку в исходный коммит, вы можете попробовать

git rebase -m master

, который попробует другую стратегию перебазирования, которая, вероятно, использует меньше памяти, если у вас большие двоичные файлы.

...