Meld を Git の Difftool および Mergetool として設定する
この記事では、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
ファイルを更新するだけです。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn