HOWTO · Git
Meld を Git の Difftool および Mergetool として設定する
この記事では、Meld を Git のデフォルトの差分およびマージツールとして構成するプロセスについて説明します。
このページの内容
この記事では、Meld を Git のデフォルトの diff および merge ツールとして構成する方法について説明します。Meld は、ファイルの変更を検査して結果をマージするのを簡単にする素晴らしい GUI diff プログラムです。
最初のステップは、常にプログラムをダウンロードしてインストールすることです。完了したら、私たちのリードに従ってください。
Meld をデフォルトの Git Difftool として構成する
Meld を difftool として使用するように Git を構成するには、.gitconfig ファイルに変更を加える必要があります。以下の行を .gitconfig ファイルに追加します。
[diff]
tool = meld
[difftool]
prompt = false
[difftool "meld"]
cmd = meld "$LOCAL" "$REMOTE"
順序は、$LOCAL および $REMOTE 引数の順序によって決定されます。この場合、元のファイルである $LOCAL が左側にあり、$REMOTE が右側に変更されたファイルです。
逆の場合は、代わりにこれを使用してください。
cmd = meld "$REMOTE" "$LOCAL"
prompt = false の部分は、Git に起動ツールの確認を求めないように指示します。これはデフォルトで行われます。
git difftool コマンドを git diff コマンドとして実行できます。
$ git difftool <BranchName> file_name
Meld をデフォルトの Git Mergetool として構成する
Meld は、GUI mergetool のおかげで、マージ中の競合を簡単に解決することもできます。ここでも、.gitconfig ファイルを変更して、Meld を Git の mergetool として構成します。
以下の行を .gitconfig ファイルに追加します。
[merge]
tool = meld
[mergetool "meld"]
# Choose one of these 2 lines
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
マージの競合がある場合は、以下のコマンドを実行することで、Meld を mergetool として使用できます。
$ git mergetool
上記のパラメータを簡単に見てみましょう。
$LOCAL- これは、チェックアウトされたブランチのファイルです。$REMOTE- これは、マージしようとしているブランチ内のファイルです。$MERGED- これは、マージの競合があるファイルです。$BASE- これは、$REMOTEを含むブランチが作成されたときの元のファイルです。
$LOCAL と $REMOTE は、cmd での順序に応じて左右に配置され、$BASE または $MERGED を中央に配置できます。Meld では 3 方向のビューが可能であり、競合を解決するには中央のファイルを編集する必要があります。
編集後、プログラムを閉じることができ、Git はファイルを自動的に更新します。この時点で、変更をコミットしてマージを完了する準備ができています。
または、Bash でいくつかのコマンドを実行して、.gitconfig ファイルを更新することもできます。
Windows ユーザーの場合、これらのコマンドを実行します。
$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false
$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false
MELD.exe ファイルへの正しいパスを入力してください。
Linux ユーザーは、以下のコマンドを使用して、.gitconfig ファイルを更新できます。
$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false
$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false
上記のコードを、マシンの正しいインストールパスで更新します。
一言で言えば、Git の元の diff および merge インターフェースは魅力的ではありません。ただし、デフォルトの GUI difftool および mergetool として Meld を使用するように Git を構成できます。
上記の手順に従って、.gitconfig ファイルを更新するだけです。