Как сделать частичный git stash?
Вы на стэш смотрите немного не правильно, он не предназначен для подготовки комитов. 
Он предназначит для того что бы спрятать не нужные на данный момент изменения, потому он и называется stash, в переводе — прятать, припрятывать.
Как то не правильно у вас написано.

С флагом --keep-index — в стэш уйдут все изменения кроме тех что уже добавлены в индекс(подготовлены для комита). Если нужно так же добавить в стэш untracked файлы, то надо указать --include-untracked.

Если делать руками, то можно создать отдельную ветку и туда сохранять что нужно, а потом просто делать git cherry-pick нужного комита, но это немного не удобно и требует больше телодвижений.