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 を使用するには:
-
適切な 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
部分を、お使いのマシンにインストールされている Mergecompare.exe
コマンドライン ユーティリティへの完全パスに置き換えます。パス要素は 2 つの円記号を使って区切ることに注意してください。 ファイルを比較するには、
git difftool
コマンドを使用します。--dir-diff
オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。上のコードで定義されている git
ad
(Araxis diff の省略)およびads
(Araxis diff stage)エイリアスは、git difftool
コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、gitad
およびads
エイリアスの使用例を参照してください。ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、
git mergetool
コマンドを使用します。git mergetool
によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコンが表示されます。
自動マージされる前のファイルを見たい場合は、元に戻す
をクリックするか CtrlZ キーを押下します。
git ad
および ads
エイリアスの使用例:
git difftool
コマンドは git diff
へのフロントエンドであるため、git diff
オプションと引数を受け付けます。上の構成で定義されている git ad
および ads
エイリアスは単に git difftool
を起動するためのショートカットです。これは、一般に git diff
引数を git ad
や git ads
に渡すことができることを意味します。下記の例ではいくつかの考えられるケースを示しますが、完全に網羅されているわけではありません。
git ad
の最適な起動方法を検討する場合は、Git リビジョンおよび範囲の指定に関する説明も役立つ可能性があります。
Git で起動したフォルダー比較を表示する場合は、Merge ウィンドウを分割して上部にフォルダー比較ビュー、下部にファイル比較ビューを表示する(ファイル比較付き 2 者間比較 )が特に有用です。
-
2 者間フォルダー比較を起動して、現在の作業ツリー内で “ステージングされていない” 変更をすべて示します。
git ad
-
2 者間フォルダー比較を起動して、現在のインデックス(ステージング領域)内で “ステージングされている” 変更をすべて示します。
git ads
-
変更されたファイル
myfile.c
への変更を示す 2 者間フォルダー比較を起動します。git ad myfile.c
-
myfile.c
のコミット 11a783 および c2061b の 2 者間フォルダー比較を起動します。git ad 11a783..c2061b myfile.c
-
2 者間フォルダー比較を起動し、ハッシュ
c2061b
を使ったコミットによって適用される変更をすべて示します。git ad c2061b^!
(WSL 下などで)
zsh
をシェルとして使用し、EXTENDEDGLOB
オプションが設定される場合は、^
をエスケープする必要があります。git ad c2061b\^!
-
2 者間フォルダー比較を起動し、
master
およびbugfix
ブランチ間の変更をすべて示します。git ad master..bugfix
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 を使用するには:
Linux 配布用のネイティブ Git パッケージを使用していることを確認してください。コンテナ化またはサンドボックス化されたバージョンの Git(Snap や Flatpak にパッケージ化されているものなど)は Araxis Merge と互換性がありません。
適切な 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 をインストールしたフォルダーの完全なパスに置き換えます。ファイルを比較するには、
git difftool
コマンドを使用します。--dir-diff
オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。上のコードで定義されている git
ad
(Araxis diff の省略)およびads
(Araxis diff stage)エイリアスは、git difftool
コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、gitad
およびads
エイリアスの使用例を参照してください。ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、
git mergetool
コマンドを使用します。git mergetool
によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコンが表示されます。
自動マージされる前のファイルを見たい場合は、元に戻す
をクリックするか CtrlZ キーを押下します。
Git(Cygwin)
Cygwin のファイル比較およびマージ操作で Merge が使用されるように設定できます。
以下の設定手順は、Git v2.21.0 の Cygwin 配布を使ってテストを行いました。
ファイル比較およびファイル マージに Araxis Merge を使用するには:
-
適切な 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
部分を、お使いのマシンにインストールされている Mergecompare.exe
コマンドライン ユーティリティへの完全パスに置き換えます。 ファイルを比較するには、
git difftool
コマンドを使用します。--dir-diff
オプションを指定すると、変更されたすべてのファイルを表示するフォルダー比較が行われます。上のコードで定義されている git
ad
(Araxis diff の省略)およびads
(Araxis diff stage)エイリアスは、git difftool
コマンドを介して Merge を起動するための便利なショートカットを提供します。このエイリアスの使用法については、gitad
およびads
エイリアスの使用例を参照してください。ファイルのマージ後、ブランチまたはリモート リポジトリの不一致変更を解決するには、
git mergetool
コマンドを使用します。git mergetool
によって Merge が開いた場合、自動ファイル マージ トピックで説明されているように、比較されたファイルは自動的にマージされます。重複する変更箇所、またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコンが表示されます。
自動マージされる前のファイルを見たい場合は、元に戻す
をクリックするか CtrlZ キーを押下します。