Take this scenario:
If you only want a port of a commit, you’re probably best off by cherry-picking the commit you want and resetting files you don’t want touched.
git cherry-pick SHA1
git checkout HEAD file1 file2 ... fileN
Of course, if you have several modified parts in a file and only want to keep some of them you have no choice but to edit the file manually, cutting out their changes.