Perhaps using a command like: git checkout --merge="-s recursive -Xpatience -Xignore-all-space" [<tree-ish>] [--] <pathspec>… for instance. I'm merging two long-lived branches that I had no hand in developing. I used the following command to get started: git merge -s recursive -Xpatience -Xignore-all-space --no-commit <other branch> I need to be able to quickly ensure that it is not the case that both branches implement the same behavior in different sections of the same file. In the case of a file that merged without conflicts, I've been doing the following, in order to use my merge tool: git checkout --merge <file> git mergetool <file> git add <file> This allows me to quickly look over what each side of the merge added. However, it's also creating merge conflicts where there were none resulting from the original merge. On the other hand, it would be more efficient from the user's perspective to be allowed to run mergetool on a file without merge conflicts from the get-go. Still, this would undoubtedly be a useful feature in use cases besides my own. Thank you, Zachary Santer