GIT-外部DIFFユーティリティとしてmcdiffを使用する

mcdiff


Midnight Commanderの一部として、よく知られているmceditエディターに加えて、サイドバイサイドファイル(mcdiff)を比較するための優れたユーティリティがあります。 比較し、必要に応じて、両方向で完全または部分的な合併を作成できます。



mcdifユーティリティはかつてここで話をしたことがありますが、ポイントに近い...


mcdiffをgitに接続する


mcdiffとgitを併用するには、スクリプトを記述する必要があります-次の内容のdiff_wrapperラッパー

#!/bin/sh /usr/bin/mcdiff "$1" "$2" 

それを保存します。 たとえば、実行権を与えることを忘れずに〜/ bin /ディレクトリ(またはあなたにとって都合の良い場所)
 chmod +x ~/bin/diff_wrapper 

次に、 .gitconfigファイルでgit diffコマンドを実行するときにラッパー呼び出しを構成する必要があります。

私の.gitconfigファイルには次の行が含まれています
 [diff] external = /home/holmes/bin/diff_wrapper [pager] diff = 



-wオプションを追加すると、空白の違いの表示を無効にできます。
 git diff -w 

ただし、mcdiff自体がこれを処理し、F9を押して目的のオプションを選択するだけです。 さらに、他の比較オプションも利用できます。
[x]大文字と小文字を区別しない
[x]タブを無視
[x]スペースへの変更を無視
[x]すべてのスペースを無視
[x]改行を考慮しない

さらに、外部比較ユーティリティの実行を拒否する必要がある場合は、 -no-ext-diffスイッチを追加する必要があります。
 git diff --no-ext-diff 

そしてもちろん、私がいつも使用しているのは、ファイルの部分的なマージ、mcdiffのF5キーの機能です。

注意:コミットで変更された各ファイルに対して外部比較ユーティリティが起動されることに注意してくださいこれは必ずしも便利ではありませんが、特に多くのファイルがある場合は、何もする必要がありません。

詳細については、公式のgitマニュアルページを参照してください。

PS:テキストにタイプミスが見つかったり、このメモに何か追加したい場合は教えてください...

Source: https://habr.com/ru/post/J209400/


All Articles