はじめに
Git で差分比較を行う際に、外部ツールを使う方法です。
基本的にどんなツールも、すでに誰かが書いていることが多いので、リンクの紹介が主です。
下記にない場合は 「git diff <ツール名>
」 で検索すれば、何かしら情報が出てくるでしょう。
Mac の場合は以下がいろいろ詳しいですね。
参考:Mac で使える git mergetool をいろいろ試してみる - 準備編 | そんなこと覚えてない
Merge のことはあんまり考えていません。個人開発が多いためか、あんまりコンフリクトしないので。
WinMerge を使用する方法
参考:git の差分比較・マージを WinMerge で行う - Qiita
FileMerge.app(opendiff) を git difftool にする方法
ターミナルで以下を実行します。
git config --global diff.tool opendiff git config --global difftool.prompt false
git difftool ではなく、git diff に設定する方法
参考:git diffでOSX opendiffを起動する設定 · GitHub
Visual Studio Code を git difftool にする方法
まず、code
コマンドをインストールする必要があります。
MacのターミナルからVisual Studio Codeを開く方法 – Webrandum
次に、以下を参考に .gitconfig
を設定します。
参考:外部エディタ/Diff ツール(差分表示ツール)としての Visual Studio Code (git と SourceTree で使ってみる) - Qiita
上記には SourceTree の方法も載っています。
VimDiff を git difftool にする方法
参考:git-diff と git-difftool を混同していた話 - ばうあーろぐ
P4Merge を git difftool にする方法
Git 公式に解説があります。
git difftool ではなく git diff で Visual Studio Code を使いたい
Mac & Visual Studio Code の例を書きます。opendiff だと、FileMerge をアプリケーションごと終了しなければならなかったので、ちょっと抵抗感がありました。Visual Studio Code はアプリケーション終了までする必要はなかったので、気に入りました。
まずコマンドを作る必要があります。
パスの通っているところ、例えば /usr/local/bin/
などに、コマンドを作ります。
sudo vi /usr/local/bin/codediff
以下のような内容です。
#!/bin/sh code --wait --diff "$2" "$5"
実行権を付与します。
sudo chmod 755 /usr/local/bin/codediff
作ったコマンドを .gitconfig に追加します。
git config --global diff.external codediff
設定したら、動作を確認します。
git diff HEAD^