Це дає хороше пояснення розбивання кількох комітів:
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
. Я очікував, що мій редактор буде перезапущений, щоб я міг ввести повідомлення про фіксацію. Що я роблю неправильно?
git push --force origin master