I think that casual users of our GitAPI will be a confused. Many people will have problems understanding the difference between MergeStrategies (Resolve, Recursive, Ours, Theirs, ...) and content-mergers. Even I would on the first look expect that "mergeWith()" expects a strategy. Also because native git only allows me to specify the merge strategy together with the "git merge" command.

I suggest to name this "contentMergeWith" or "setMergeTool()" (to be consistent with how you set a content merger in native git).

Of course the same argument goes for all commands you touched.