Integrating with Git

Integration with Git requires the Professional Edition of Merge to enable the comparison of two modified versions of a file with their common ancestor.

Git for Windows (msysGit)

Merge integrates tightly with Git for Windows . Araxis provides a Git File-System Plugin to enable Merge to access files in Git repositories directly. For file comparisons (but not folder comparisons), Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

Git for Windows can also be configured to use Merge for file comparison and merge operations.

The following configuration instructions have been tested using Git for Windows v2.24.0.

To use Araxis Merge for file comparison and file merging:
Examples of using the git ad and ads aliases:

The git difftool command is a frontend to git diff and thus accepts git diff options and arguments. As the Git ad and ads aliases defined in the above configuration are simply shortcuts for invoking git difftool, this means that you can in general pass git diff arguments to git ad and git ads. The examples below show some possibilities, but are by no means exhaustive.

The documentation on specifying Git revisions and ranges may also be helpful when considering how best to invoke git ad.

The split-view folder-comparison-with-file-comparison (Two-way with file comparison ) can be especially useful when viewing folder comparisons launched by Git.

Git WSL (Windows Subsystem for Linux)

As of version 2017.4929, Merge can be integrated with Git running under the Windows Subsystem for Linux (WSL).

The use of Merge 2020 or later is strongly recommended as its WSL integration is considerably enhanced and uses \\wsl$-style paths with Windows 10 May 2019 Update (1903) onwards. Merge 2020 supports both WSL 1 and WSL 2.

Merge 2020 or later with Windows 10 May 2019 Update (1903) onwards

When using both Merge 2020 or later and Windows 10 1903 onwards, the Merge-WSL integration uses \\wsl$-style paths. This enables Merge to access WSL files, facilitating a much more straightforward integration than is possible with earlier versions of Merge or Windows.

To use Araxis Merge for file comparison and file merging:

Merge 2017–2019 or Windows 10 October 2018 (1809) and earlier

When using these older versions of Merge or Windows, Merge-WSL integration requires the repositories and files being accessed by Merge to be stored on the Windows file system (e.g. under /mnt/c, from the perspective of WSL). Please read the following warning carefully to understand the reason for this limitation.

CRITICALLY IMPORTANT: Under no circumstance should you directly create and/or modify Linux files using Windows applications such as Araxis Merge. Due to the design of WSL, breaking this rule will likely result in loss of data and/or damage to your Linux environment. With older versions of Merge (pre-2020) or Windows (pre-Windows 10 1903), the integration of Merge with Git and Mercurial running under WSL therefore requires that you store repositories and files to be used from both Windows and WSL on the Windows file system (e.g. under /mnt/c, from the perspective of WSL). For more information, please see Do not change Linux files using Windows apps and tools .

The integration instructions in this section endeavour to adhere to the above restriction, but there may nevertheless be certain cases not taken into account. When saving or copying any file or folder using Merge, you are therefore advised to verify that the file or folder is not being written to the WSL file area under %localappdata%\lxss\.

To use Araxis Merge for file comparison and file merging:

Git (Cygwin)

Git on Cygwin can be configured to use Merge for file comparison and merge operations.

The following configuration step has been tested using the Cygwin distribution of Git v2.21.0.

To use Araxis Merge for file comparison and file merging: