Download and install p4merge
- Download the perforce visual tool suite from here: http://www.perforce.com/perforce/downloads/index.html
- Copy only the p4merge.app file into your /Applications/ directory
Setup p4merge as a visual mergetool
$ git config --global merge.tool p4mergetool $ git config --global mergetool.p4mergetool.cmd \ "/Applications/p4merge.app/Contents/Resources/launchp4merge \$PWD/\$BASE \$PWD/\$REMOTE \$PWD/\$LOCAL \$PWD/\$MERGED" $ git config --global mergetool.p4mergetool.trustExitCode false $ git config --global mergetool.keepBackup false
Setup p4merge as a visual diff tool
$ git config --global diff.tool p4mergetool $ git config --global difftool.p4mergetool.cmd \ "/Applications/p4merge.app/Contents/Resources/launchp4merge \$LOCAL \$REMOTE"
Using p4merge to resolve conflicts
When you run into a conflict when merging simply run:
$ git mergetool
- You will be prompted to run "p4mergetool", hit enter and the visual merge editor will launch.
- Using the merge tool you can resolve the conflict and then save the file.
- After you exit the merge tool take a look back at your terminal. You will be asked if the merge was successful, choose yes if all is well or no if you need to start over.
- This prompting is happening because the "trustExitCode" option is turned off. Personally I always like to be asked, but you can have git just trust the exit code from the merge tool.