Это дает хорошее объяснение раздачи нескольких коммитов:
http://git-scm.com/book/en/Git-Branching-Rebasing
но он не работает для коммитов, которые уже были нажаты. Как я могу скворовать последние несколько коммитов как в моем локальном, так и удаленном репозитории?
EDIT:. Когда я делаю git rebase -i origin/master~4 master
, сохраните первый как pick
, установите остальные три как squash
, а затем выйдите (через cx cc в emacs), я получу
$ git rebase -i origin/master~4 master
# Not currently on any branch.
nothing to commit (working directory clean)
Could not apply 2f40e2c... Revert "issue 4427: bpf device permission change option added"
$ git rebase -i origin/master~4 master
Interactive rebase already started
где 2f40 является фиксацией pick
. И теперь ни один из 4 коммитов не появляется в git log
. Я ожидал, что мой редактор будет перезагружен, чтобы я мог ввести сообщение фиксации. Что я делаю неправильно?