К сожалению, мы случайно зарегистрировали большой двоичный файл, и до сегодняшнего дня никто не заметил. Теперь я хочу отбросить этот коммит и сохранить оставшуюся историю. Я знаю о предостережениях об изменении толкаемой истории, но в этом случае я не могу избежать этого.
Я пытался достичь этого в течение ~ 1 часа, но не смог этого добиться. Лучшая команда, которую я нашел, это
git rebase --interactive --preserve-merges $(EVIL_COMMIT)^
и в редакторе комментирует 1-й коммит, который является злым.
К сожалению git rebase
останавливается при слияниях и запрашивает ручное разрешение конфликтов слияний. Злой коммит добавляет только несколько примеров файлов, которые наше программное обеспечение будет вычислять для тестирования. Таким образом, они не должны конфликтовать с просто отсутствующими примерами.
- Я не понимаю, откуда возникли конфликты слияния. Кто-нибудь может объяснить?
- Как решить эту проблему?
Я провел довольно много времени в поиске Google и SO. Некоторые темы затрагивают похожую тему, но либо используемый синтаксис недоступен в сегодняшней версии Git, либо он не работает для меня (я описал только один метод выше, потому что это самый простой подход).