Команда git rebase -i
может сделать это и многое другое. Эта команда очень мощная, поэтому с ней хорошо подружиться.
Синтаксис: git rebase -i <commit ID>
. Это вызывает ваш текстовый редактор с опциями (и инструкциями) для изменения всех коммитов вплоть до (не включая) данного идентификатора.
Например, чтобы изменить предыдущие 5 коммитов, вы можете сделать это:
git rebase -i HEAD~5
Или, если ваша ветка SVN называется "svn / trunk", то этот синтаксис также хорош:
git rebase -i svn/trunk
Затем появится окно текстового редактора. Чтобы раздавить все, измените первое слово каждой строки после первого с «выбрать» на «раздавливание» (если это звучит странно - это будет иметь больше смысла, когда вы это увидите). Затем сохраните и закройте редактор. После этого у вас будет возможность отредактировать сообщение коммита для сдавленного коммита.
Среди прочего, что вы можете делать с git rebase -i
, это переупорядочивание коммитов, сжатие коммитов различными способами и удаление коммитов.
Я использую эту команду постоянно; это убийственная особенность Git.