سؤال

I really hate visualizing diffs using the default UNIX diff tool. Is it possible to do view git diffs using a GUI tool that will nicely display the local and remote side-by-side, similar how it is possible to set the mergetool to be DiffMerge and when you do

git mergetool myfile.txt

it pops the DiffMerge GUI for easier visualization and merging? I am using OSX.

هل كانت مفيدة؟

المحلول

You could use opendiff. It is a command line tool which opens the GUI of FileMerge.

You could instruct Git to use it automatically for git-mergetool with:

git config --global merge.tool opendiff

If you want it for git-difftool as well:

git config --global diff.tool opendiff

And you could also disable the prompting for every file with:

git config --global difftool.prompt false

For more details type: git help config and search with / for the different options.


P.S. If you don't have opendiff installed you could install it together with the Developer Tools from XCode: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/opendiff.1.html

UPDATE: In recent versions of XCode, FileMerge is now bundled with XCode. You cannot install FileMerge as a standalone program. opendiff is still in its command-line utilities which are standalone.

نصائح أخرى

P4Merge from Perforce is pretty good and the standalone P4Merge application is free. You can get it at http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

Also, if you are using SublimeText than http://www.sublimerge.com/ is also a good tool.

Even if you aren't using Python, having PyCharm installed is worth it for its great Git integration. It's a good general-purpose editor and has a good visual diff+merge tool. The merge tool includes a triple-pane interface with intuitive code block selection. The community edition is free and works on my installation of MacOS High Sierra.

I use BBEdit for this purpose. I think its diff display works very well. I have it set as my git external diff tool.

If you use Visual Studio Code on your Mac, then you can install the Diff Folder extension to compare files and folders of checked out code.

Its very configurable - can exclude files based on regexp, open file diff to the side etc.

Its also easy to use !

If you have the two different files, WinMerge does a very nice side-by-side comparison. I don't know if it's available for non-Windows platforms. Also, some systems will let you choose your own comparison tool, while others are hard coded to something specific -- I don't know about your Git environment.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top