Ответ 1
git diff --cached
должен сделать трюк, если вы просто хотите разбить патч.
Если вы действительно хотите использовать все функции format-patch
, вы действительно должны зафиксировать (в конце концов, вам нужно сообщение фиксации, если вы отправляете патч вверх по течению).