Here is the method I've just used.
I work on say 3.6 and apply n commits, ideally I do apply my changes so that each commit
does not cross several modules (ie core and entitymanager)
For each commit:
cd targeted-module
git diff --no-prefix previous-commit-sha1 actual-commit-sha1 | patch -p1
The patch is applied and I need to add the necessary files and commit.
Not a perfect method by any mean, but that's a start :)
HTH
Emmanuel