As Sandeep Panda and Cho, Yongjoon have said, it's best to avoid merge conflicts if possible. One of the ways of doing that is to have not have feature branches and work on the dev branch directly. This ensures that all developers are basically pushing to the dev branch every day or at max every 2 days. If the feature is bigger than a 2 day coding effort, it's a sign that it must be broken down into smaller elements that can be continuously merged in. This is an extreme example of short-lived feature branches.
I think the advent of Git-Flow was the root cause of a lot of unnecessary merge conflicts.
Now, if you already have merge conflicts, more often than not, a decent GUI for Git will have you covered. Personally, I use Gitlab's code review tool to view the diff and resolve conflicts. Else, Atom's Git integration is also pretty decent allowing you to pick the changes that you'd like to commit.