Skip to content

Instantly share code, notes, and snippets.

@ttimz1313
Forked from tony4d/p4merge4git.md
Last active August 16, 2016 00:09
Show Gist options
  • Save ttimz1313/b55fd996f41d9719ae7d6f2f2600a419 to your computer and use it in GitHub Desktop.
Save ttimz1313/b55fd996f41d9719ae7d6f2f2600a419 to your computer and use it in GitHub Desktop.
Setup p4merge as a visual diff and merge tool for git

Download and install p4merge

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.
@ttimz1313
Copy link
Author

Ys

@ttimz1313
Copy link
Author

Mol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment