Git

diffツール(P4Merge)のセットアップ

環境・事前準備

・macOS Ventura
・Gitのインストール
Homebrew:brew install git

diffツールを使用することで、ファイル等の差分を視覚的にわかりやすく確認することができます。

ここでは、「P4Merge」というdiffツールをインストールします。

「P4Merge」のインストール

「P4Merge」はこちらからダウンロードすることができます。

「FAMILY」で使用しているOS(本ページではMacOSを前提としています)、「VERSION」でダウンロードする「P4Merge」のバージョンを指定します。

「DOWNLOAD」を選択すると以下のような「registration」が表示されますが、「Skip registration」を選択します。するとダウンロードが開始されます。

ダウンロードした「P4V.dmg」をダブルクリックで開くと、以下のウィンドウが表示されますので、「p4merge」のアイコンを「Applications」アイコンにドラッグ&ドロップします。

「P4Merge」の設定

次に「P4Merge」アプリの保存フォルダに移動し、「P4Merge」を実行します。

% cd /Applications/p4merge.app/Contents/MacOS/
% ./p4merge

 

背面が白い場合、diffの表示が白文字の白背景となってしまい文字が読めないため、背景を黒くする設定をします。

メニューバーの「P4Merge」→「Preferences」を選択。

「Color Scheme(default):」で「Application color scheme:」の「Dark」を選択。

また、日本語を表示する場合、「Osaka」フォントを使用することでフォントが正しく表示されます。

「Text format(default):」で「Font: Menlo -10」の横にある「Choose...」を選択。「Font」で「Osaka」を選択します。

ここで、「Osaka」フォントが表示されなかった場合、別途「Osaka」フォントをインストールする必要があります。

commandキー+spaceキーで 「Spotlight検索」を起動し、「Font Book」を検索して表示します。右の検索窓から「osaka」を探し、ダウンロードすれば使用できるようになります。

※「P4Merge」のウィンドウ上でcommandキー+Qキーを入力し、「P4Merge」をキャンセル(終了)します。その後、再度起動することで、「Preferences」の「Font」に「Osaka」が表示されるようになります。

「Preferences」の設定が完了したら、再起動することで変更が反映されます。

Gitのdiffツールとして登録

Gitのdiffツールとして「P4Merge」を設定するには、以下のコマンドをターミナルに入力します(内容は「~/.gitconfig」ファイルに保存されます)。

これにより、「git diff」コマンドを「git difftool」コマンドに変更することでdiffを「P4Merge」で確認することができようになります。また、「git mergetool」コマンドで「P4Merge」でコンフリクトに対処することができるようになります。

#「git config --global <attribute> "<value>"」コマンドでGitのglobal設定を追加。

% git config --global diff.tool p4merge  # diffツールにp4mergeを指定する。
% git config --global difftool.p4merge.path /Applications/p4merge.app/Contents/MacOS/p4merge  # GitにP4Mergeのパスを登録。
% git config --global difftool.prompt false  # GitのdifftoolコマンドでP4Mergeを起動するとワンクッションプロンプトが挟まれる。この挙動を無効にする。

% git config --global merge.tool p4merge  # mergeツールにp4mergeを指定する。
% git config --global mergetool.p4merge.path /Applications/p4merge.app/Contents/MacOS/p4merge  # GitにP4Mergeのパスを登録。
% git config --global mergetool.prompt false  # GitのmergetoolコマンドでP4Mergeを起動するとワンクッションプロンプトが挟まれる。この挙動を無効にする。