A central feature of Git is the ability to merge the contents of diverging revisions. It underpins not just the git merge command, but also rebase, cherry-pick and revert for instance. Without it, no collaboration would be possible. And it generally works great.
One limitation is that it’s line-based. If the two sides touch neighbouring lines, we need to manually resolve a merge conflict. That happens even if the changes are touching independent syntactic elements, because Git’s merging heuristic doesn’t know about syntax.