maler1988
@maler1988
Web-программист (1С Bitrix)

Можно ли пропустить один коммит при актуализации ветки через git pull?

Суть проблемы, сервер отстаёт от гита на 3 коммита, во второй из них видимо по запарке программиста попали резервные копии сайта весом 4+ гигабайта. При выполнении команды git pull origin master очень долго идёт загрузка 2-го коммита с бэкапами, а потом вылетает ошибка fatal: Out of memory? mmap failed: Cannot allocate memory.

Можно ли как-то пропустить коммит содержащий бэкапы? В нём только бэкапы, 2 огромных файла и всё.
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Если вы называете сервером тот компьютер куда загружаются коммиты с "гита", то нет, пропустить коммиты при pull нельзя.
Чините гит , запустив git rebase --interactive HEAD~2 на компе, который вы назвали гитом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Рекомендую откатиться назад и удалить этот коммит. После чего залить изменения на сервер git push -f.
Затем все разработчики должны будут сделать следующее (для сохранения уже сделанных локальных коммитов):
git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

После этого с помощью git cherry-pick нужно перенести свои локальные коммиты в master.

PS: Имейте в виду, что если вы сейчас не избавитесь от этих больших файлов, то они останутся там навсегда и даже git revert не вычистит их из репозитория.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы