git commit --amend
é simples de usar … mas e se o commit não for o commit mais recente?
Primeiro, você descobrirá qual é o SHA do commit que deseja alterar. Em git rebase SHA~1
seguida, altere ‘escolher’ para ‘editar’.
Neste ponto, você está em um estado HEAD separado (seu HEAD aponta para aquele commit específico, não para um branch).
Você pode fazer qualquer alteração aqui e git commit --amend
então git rebase --continue
.
No entanto, na minha experiência, às vezes preciso testar as alterações que fiz, no entanto, algo está quebrado e que consertei em um commit futuro (após este).
Então, mudei meu fluxo de trabalho de acordo …
Antes de rebase, eu faria as alterações que desejo, testaria e então …
git commit -m "foo"
git rebase SHA~1
move the "foo" commit to the second line and change 'pick' to 'fixup'
Feito.
Nota
Eu uso ambos os itens acima … dependendo da situação.