Самый простой способ сделать это, вероятно, использовать интерактивное перебазирование, чтобы объединить эти два коммита. Если неполная фиксация была A
, а последующее небольшое исправление было зафиксировано B
, что дает следующий график фиксации:
---- A --- B (master)
Вы можете сделать:
git rebase -i A^
Появится текстовый редактор с инструкциями о том, как отредактировать этот файл, чтобы изменить порядок, удалить, отредактировать или объединить коммиты в истории. (В данном случае история - это просто все, начиная с родительского элемента A
, то есть только A
и B
.)
Вы можете изменить pick
на squash
t начало строки, соответствующей фиксации B
, сохранить файл, выйти из редактора, и история master
будет переписана так, чтобы они были единым коммитом .
Очевидно, что поскольку это переписывание истории, вам следует избегать этого, если вы уже поделились этими коммитами с кем-либо.
Этот раздел Pro Git содержит полезную информацию о переписывании истории таким образом.
В качестве альтернативы, это достаточно простая ситуация, которую вы могли бы просто сделать:
git reset --soft HEAD^
git commit --amend
Однако, если эти два коммита не в самом начале вашей ветки, лучше использовать интерактивный ребаз.