Tenemos el siguiente caso:

  1. f7f3f6d changed my name a bit
  2. 310154e updated README formatting and added blame
  3. a5f4a0d added cat-file

Son 3 commits y el segundo de ellos queremos dividirlo en dos.

Se usa git rebase -i <commit/rama> para iniciar un rebase y marcamos el commit a dividir como edit:

pick f7f3f6d changed my name a bit
edit 310154e updated README formatting and added blame
pick a5f4a0d added cat-file

El rebase se detendrá en ese commit. Lanzamos el siguiente comando para deshacerlo:

$ git reset HEAD^

A continuación creamos los commits en los que queremos dividirlo:

$ git add README
$ git commit -m 'updated README formatting'
$ git add lib/simplegit.rb
$ git commit -m 'added blame'

Una vez hecho continuamos el rebase:

$ git rebase --continue

Y con esto ya estaría listo:

  1. 1c002dd added cat-file
  2. 9b29157 added blame
  3. 35cfb2b updated README formatting
  4. f3cc40e changed my name a bit

👉 Source