Ответ 1
В нем говорится:
Когда вы сохраняете и выходите из редактора, он перематывает вас назад к последнему фиксации в этом списке и бросает вас в командной строке со следующим сообщением:
$ git rebase -i HEAD~3
Stopped at 7482e0d... updated the gemspec to hopefully work better
You can amend the commit now, with
Это не означает:
снова введите
git rebase -i HEAD~3
Попробуйте не печатать git rebase -i HEAD~3
при выходе из редактора, и он должен работать нормально.
(иначе, в вашей конкретной ситуации, git rebase -i --abort
может понадобиться для reset всего и позволить вам попробовать еще раз)
Как Дэйв Фогт упоминает в комментариях, git rebase --continue
предназначен для перехода к следующей задаче в процессе перезагрузки после того, как вы внесли поправки в первый коммит.
Кроме того, Грегг Линд упоминает в своем ответе команду reword
git rebase
:
Заменив команду "pick" командой "edit", вы можете сказать
git rebase
остановиться после применения этой фиксации, чтобы вы могли редактировать файлы и/или сообщение фиксации, изменять фиксацию и продолжать перебазирования.Если вы просто хотите отредактировать сообщение фиксации для фиксации, замените команду "
pick
" командой "reword
" , так как Git1.6.6 (январь 2010 г.).Он делает то же самое, что и
edit
во время интерактивной переустановки, кроме , он позволяет редактировать сообщение фиксации без возврата к оболочке. Это очень полезно. В настоящее время, если вы хотите очистить свои сообщения о фиксации, вы должны:
$ git rebase -i next
Затем установите все коммиты для редактирования. Затем на каждом из них:
# Change the message in your editor.
$ git commit --amend
$ git rebase --continue
Использование '
reword
вместо'edit
позволяет пропустить вызовыgit-commit
иgit-rebase
.