Resolving merge conflicts is the semiautomated way of resolving the errors that would occur when applying the patch manually. If one uses git merge or git rebase it will retain ones commit history.
Though I agree its risky in that it’s not fun at all and can be quite uneasy and might need more then one attempt…