Git との統合

Git との統合には、1 つのファイルから変更された、元を同じくする 2 つの修正版を比較できるようにするため、Merge の Professional Edition が必要となります。

Git for Windows(msysGit)

Merge は Git for Windows と強固に統合されます。Araxis では、Merge が Git リポジトリのファイルに直接アクセスできるように Git ファイルシステム プラグイン を提供しています。また、ファイル比較(フォルダー比較ではない)では、Merge は バージョン ボタン ドロップダウン バージョン メニューに、比較されている各ファイルの別のリビジョンを持たせることができます。詳細については、テキスト ファイル(または、入力/貼り付けしたテキスト)の比較を参照してください。

Git for Windows のファイル比較およびマージ操作で Merge が使用されるように設定できます。

以下の設定手順は Git for Windows v2.24.0 でテストを行いました。

ファイル比較およびファイル マージに Araxis Merge を使用するには:
  1. 適切な Git 構成ファイル に以下の diff および merge ツール設定を追加して、更新してください。

    [diff]
    tool = araxis
    [difftool "araxis"]
    path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
    
    [merge]
    tool = araxis
    [mergetool "araxis"]
    path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
    
    [alias]
    ad = difftool --tool=araxis --dir-diff
    ads = difftool --tool=araxis --dir-diff --staged
    

    上記のパスの C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe 部分を、お使いのマシンにインストールされている Merge compare.exe コマンドライン ユーティリティへの完全パスに置き換えます。パス要素は 2 つの円記号を使って区切ることに注意してください。

  2. ファイルを比較するには、git difftool コマンドを使用します。--dir-diff オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。

    上のコードで定義されている git adAraxis diff の省略)および adsAraxis diff stage)エイリアスは、git difftool コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、git ad および ads エイリアスの使用例を参照してください。

  3. ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、git mergetool コマンドを使用します。

    git mergetool によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコン が表示されます。

    自動マージされる前のファイルを見たい場合は、元に戻す をクリックするか CtrlZ キーを押下します。

git ad および ads エイリアスの使用例:

git difftool コマンドは git diff へのフロントエンドであるため、git diff オプションと引数を受け付けます。上の構成で定義されている git ad および ads エイリアスは単に git difftool を起動するためのショートカットです。これは、一般に git diff 引数を git adgit ads に渡すことができることを意味します。下記の例ではいくつかの考えられるケースを示しますが、完全に網羅されているわけではありません。

git ad の最適な起動方法を検討する場合は、Git リビジョンおよび範囲の指定に関する説明も役立つ可能性があります。

Git で起動したフォルダー比較を表示する場合は、Merge ウィンドウを分割して上部にフォルダー比較ビュー、下部にファイル比較ビューを表示する(ファイル比較付き 2 者間比較 )が特に有用です。

Git WSL(Windows Subsystem for Linux)

Araxis Merge 2020 以降では、Windows Subsystem for Linux (WSL)下で実行する Git と統合できます。WSL 1 と WSL 2 の両方が Windows 10 May 2019 Update (1903) 以降でサポートされます。

Merge-WSL 統合は \\wsl$ スタイルのパスを使用します。これにより、Merge は WSL ファイルへアクセスできるようになり、以前のバージョンの Merge または Windows のときよりもさらに統合しやすくなります。

ファイル比較およびファイル マージに Araxis Merge を使用するには:
  1. Linux 配布用のネイティブ Git パッケージを使用していることを確認してください。コンテナ化またはサンドボックス化されたバージョンの Git(Snap や Flatpak にパッケージ化されているものなど)は Araxis Merge と互換性がありません。

  2. 適切な Git 構成ファイル に以下の diff および merge ツール設定を追加して、更新してください。

    [diff]
    tool = araxis
    [difftool "araxis"]
    cmd = '/mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_git_compare' $BASE $LOCAL $REMOTE
    
    [merge]
    tool = araxis
    [mergetool "araxis"]
    cmd = '/mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_git_merge' $BASE $LOCAL $REMOTE $MERGED
    
    [alias]
    ad = difftool --tool=araxis --dir-diff --no-symlinks
    ads = difftool --tool=araxis --dir-diff --no-symlinks --staged
    

    上記のパスの /mnt/c/Program Files/Araxis/Araxis Merge 部分を、お使いのマシンで Merge をインストールしたフォルダーの完全なパスに置き換えます。

  3. ファイルを比較するには、git difftool コマンドを使用します。--dir-diff オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。

    上のコードで定義されている git adAraxis diff の省略)および adsAraxis diff stage)エイリアスは、git difftool コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、git ad および ads エイリアスの使用例を参照してください。

  4. ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、git mergetool コマンドを使用します。

    git mergetool によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコン が表示されます。

    自動マージされる前のファイルを見たい場合は、元に戻す をクリックするか CtrlZ キーを押下します。

Git(Cygwin)

Cygwin のファイル比較およびマージ操作で Merge が使用されるように設定できます。

以下の設定手順は、Git v2.21.0 の Cygwin 配布を使ってテストを行いました。

ファイル比較およびファイル マージに Araxis Merge を使用するには:
  1. 適切な Git 構成ファイル に以下の diff および merge ツール設定を追加して、更新してください。

    [diff]
    tool = araxis
    [difftool "araxis"]
    cmd = '/cygdrive/c/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe' /2 `cygpath -w $LOCAL` `cygpath -w $REMOTE`
    
    [merge]
    tool = araxis
    [mergetool "araxis"]
    cmd = '/cygdrive/c/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe' /3 /a2 `cygpath -w $REMOTE` `cygpath -w $BASE` `cygpath -w $LOCAL` `cygpath -w $MERGED`
    
    [alias]
    ad = difftool --tool=araxis --dir-diff --no-symlinks
    ads = difftool --tool=araxis --dir-diff --no-symlinks --staged
    

    上記のパスの/cygdrive/c/Program Files/Araxis/Araxis Merge/Compare.exe 部分を、お使いのマシンにインストールされている Merge compare.exe コマンドライン ユーティリティへの完全パスに置き換えます。

  2. ファイルを比較するには、git difftool コマンドを使用します。--dir-diff オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。

    上のコードで定義されている git adAraxis diff の省略)および adsAraxis diff stage)エイリアスは、git difftool コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、git ad および ads エイリアスの使用例を参照してください。

  3. ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、git mergetool コマンドを使用します。

    git mergetool によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコン が表示されます。

    自動マージされる前のファイルを見たい場合は、元に戻す をクリックするか CtrlZ キーを押下します。