## Редактирование последнего коммита
```
git commit --amend
```
## Редактирование нескольких коммитов
Специального инструмента для редактирования истории в Git не существует, но можно воспользоваться процедурой перемещения и поместить коммиты там, где изначально находился их указатель HEAD, а не в другое место.
Для входа в интерактивный режим команду git rebase запускают с параметром -i. Следует указать, насколько давние коммиты вы собираетесь переписывать, сообщив команде, для какого коммита будет выполняться
перемещение.
Например, вы пытаетесь внести изменения в три последних коммита, но при этом хотим изменить четвертый коммит с конца — родителя последнего интересующего вас коммита:
```
git rebase -i HEAD~3
```
Эта команда служит для перемещения, то есть будут переписаны все коммиты в диапазоне HEAD~3..HEAD вне зависимости от того, меняете вы для них сообщение или нет.
Ни в коем случае не включайте в этот набор коммиты, уже отправленные на центральный сервер, — сделав так, вы запутаете других разработчиков, предоставив им альтернативную версию уже имеющихся изменений.
## Последнее средство: команда filter-branch
Существует еще один способ переписывания истории, к которому прибегают,
когда при помощи сценария нужно внести изменения в большое количество
коммитов, например везде поменять ваш адрес электронной почты или убрать какой-то файл из всех коммитов. В таких случаях вам на помощь приходит команда `filter-branch`, позволяющая переписывать большие фрагменты истории. Как обычно бывает в подобной ситуации, ее можно использовать только для проектов, которые еще не попали в общий доступ и переписываемые коммиты не служат основой ничьей работы.