Short answer
Don’t worry, Git will handle it.
Long answer
Unlike e.g. SVN1, Git does not store commits in delta format, but is snapshot-based2,3. While SVN would naively try to apply each merged commit as a patch (and fail, for the exact reason you described), Git is generally able to handle this scenario.
When merging, Git will try to combine the snapshots of both HEAD commits into a new snapshot. If a portion of code or a file is identical in both snapshots (i.e. because a commit was already cherry-picked), Git won’t touch it.
Sources
1 Skip-Deltas in Subversion
2 Git Basics
3 The Git object model