I had the exact same problem as mentioned by you above. But I found this clearer in explaining the answer.
Summary:
-
Check out the path(s) from the branch you want to merge,
$ git checkout source_branch -- <paths>... Hint: It also works without `--` like seen in the linked post.
-
or to selectively merge hunks
$ git checkout -p source_branch -- <paths>...
Alternatively, use reset and then add with the option -p
,
$ git reset <paths>...
$ git add -p <paths>...
-
Finally commit
$ git commit -m "'Merge' these changes"