Подтвердить что ты не робот

Git: простейший способ раздавливания коммитов на мастер

Возможный дубликат:
Как я могу сквоить, мой последний Х коммитирует вместе, используя git?

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

Я запутался между слиянием --squash и rebase и т.д.... Каков самый простой способ объединения нескольких исторических данных в один фиксатор, чтобы он подтолкнул GitHub?

4b9b3361

Ответ 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), поэтому вам следует избегать этого, если кто-то еще может клонировать или вытаскивать из вашего репозитория. Для некоторых альтернатив см. Этот вопрос и его ответы: