Ответ 1
Перед запуском вы должны убедиться, что git status
чист (т.е. нет выхода из этой команды), чтобы избежать потери работы. Простейший способ сделать то, что вы хотите, вероятно:
git reset --soft <LAST-COMMIT-THAT'S-OK>
git commit -m 'Many squashed commits'
git push --force origin master
Вы должны помнить, что это переписывание истории (для чего вам нужна опция --force
для git push
), поэтому вам следует избегать этого, если кто-то еще может клонировать или вытаскивать из вашего репозитория. Для некоторых альтернатив см. Этот вопрос и его ответы: