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"