Я бы использовал для этого интерактивный ребаз:
git rebase -i master fork-branch
Когда git спросит, что вы хотите сделать с каждым коммитом, скажите, что он отредактировал все из них (поиск и замена выбора ->редактировать).Сохраните и выйдите, и интерактивная перезагрузка пройдет через коммиты, останавливаясь на каждом, чтобы позволить вам делать свое делоПройдите тестирование, решите, хотите ли вы его сохранить.Если вы это сделаете, просто запустите git rebase --continue
, чтобы перейти к следующему.Если вы этого не сделаете, запустите git reset --hard HEAD^
, чтобы сбросить предыдущий коммит, отбросив тот, который вам не нужен, затем перейдите к git rebase --continue
.
Если есть коммиты, о которых вы сразу знаете, выне хотите, вы можете просто удалить их из списка вместо изменения выбора для редактирования.И, конечно, если я полностью не понял, и вам не нужно проводить никакого тестирования, вы можете в значительной степени игнорировать предыдущий абзац и делать все это, выборочно удаляя строки.