Git Diff Merge Integration

With Guiffy 12.2

On Windows:
Add the guiffy installed folder to your PATH environment variable.

On MacOS:
As super user add a symbloic link for guiffy in /usr/local/bin to the guiffy install folder/guiffy. For example:
ln -s /Applications/Guiffy/guiffy /usr/local/bin/guiffy

On Linux:
As super user install Guiffy into /usr/local/bin/Guiffy.
As super user add a symbloic link for guiffy in /usr/local/bin to the /usr/local/bin/Guiffy. For example:
ln -s /usr/local/bin/Guiffy/guiffy /usr/local/bin/guiffy

With Git 2.18 and Guiffy 11.8

Guiffy integration with Git's difftool and mergetool is built into the Git 2.18 release. Git can be configured by using the following git config commands:

git config --global diff.tool guiffy
git config --global difftool.prompt false
git config --global merge.tool guiffy

With Git prior to 2.18

Git can be configured to use Guiffy as its diff and merge tool. The paths shown below assume Guiffy is installed in the default location for each operating system. Git can be configured by editing your .gitconfig file or by using git config commands.

On Windows

Add the following to your .gitconfig file:

[diff]
	tool = guiffy
[difftool "guiffy"]
	cmd = "\"C:/Program Files/Guiffy/guiffy.exe\" \"$LOCAL\" \"$REMOTE\""
[difftool]
	prompt = false
[merge]
	tool = guiffy
[mergetool "guiffy"]
	cmd = "\"C:/Program Files/Guiffy/guiffy.exe\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
	trustExitCode = true

Or use the following git config commands:

git config --global diff.tool guiffy
git config --global difftool.guiffy.cmd "\"C:/Program Files/Guiffy/guiffy.exe\" \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
git config --global merge.tool guiffy
git config --global mergetool.guiffy.cmd "\"C:/Program Files/Guiffy/guiffy.exe\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
git config --global mergetool.guiffy.trustExitCode true

On Linux/Unix

Add the following to your .gitconfig file:

[diff]
	tool = guiffy
[difftool "guiffy"]
	cmd = "\"/usr/local/bin/Guiffy/guiffy\" \"$LOCAL\" \"$REMOTE\""
[difftool]
	prompt = false
[merge]
	tool = guiffy
[mergetool "guiffy"]
	cmd = "\"/usr/local/bin/Guiffy/guiffy\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
	trustExitCode = true

Or use the following git config commands:

git config --global diff.tool guiffy
git config --global difftool.guiffy.cmd "\"/usr/local/bin/Guiffy/guiffy\" \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
git config --global merge.tool guiffy
git config --global mergetool.guiffy.cmd "\"/usr/local/bin/Guiffy/guiffy\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
git config --global mergetool.guiffy.trustExitCode true

On MacOS X

Add the following to your .gitconfig file:

[diff]
	tool = guiffy
[difftool "guiffy"]
	cmd = "\"/Applications/Guiffy/guiffy\" \"$LOCAL\" \"$REMOTE\""
[difftool]
	prompt = false
[merge]
	tool = guiffy
[mergetool "guiffy"]
	cmd = "\"/Applications/Guiffy/guiffy\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
	trustExitCode = true

Or use the following git config commands:

git config --global diff.tool guiffy
git config --global difftool.guiffy.cmd "\"/Applications/Guiffy/guiffy\" \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
git config --global merge.tool guiffy
git config --global mergetool.guiffy.cmd "\"/Applications/Guiffy/guiffy\" -s \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
git config --global mergetool.guiffy.trustExitCode true


Documentation by Guiffy Software, Inc. 2023