Back

Git diff の読みやすさを diff-so-fancy で向上させる方法

Git diff の読みやすさを diff-so-fancy で向上させる方法

生の Git diff を読むのは疲れる作業です。標準出力は密度が高く、プラスとマイナスの記号で埋め尽くされ、素早く確認するのが難しいものです。頻繁に変更を確認する場合、diff の読みやすさを向上させることで時間を節約し、問題をより早く発見するのに役立ちます。

この記事では、diff-so-fancy を使用して Git diff の読みやすさを向上させる方法を紹介します。これは diff を見やすくするために設計されたツールです。

重要なポイント

  • diff-so-fancy は優れたフォーマットと色分けにより Git diff の読みやすさを向上させます
  • インストールと設定はわずか数ステップで完了します
  • 明確な diff により、変更を正確に確認しやすくなります

なぜ Git diff の読みやすさが重要なのか

git diff を実行すると、Git は行の先頭に +- などの記号を使って変更を表示します。機能的ではありますが、特に大規模なコード変更の場合、視覚的に厳しいものになります。

読みにくい diff は、バグの見落とし、コードレビューの遅延、精神的な疲労の原因となります。Git の diff 表示方法を改善することは、日々の生産性に大きな効果をもたらす小さな変更です。

関連記事: より速いワークフローのための Git エイリアスの作成と使用方法

diff-so-fancy とは

diff-so-fancy は、Git diff の出力を取得して読みやすく整形する小さなユーティリティです。余分なマーカーを削除し、変更をより明確にハイライトし、コードをより速くレビューできるように出力を構造化します。

主な改善点:

  • より明確な追加と削除
  • 行内の変更された単語の強調
  • よりクリーンなハンクヘッダー
  • スキャンしやすいブロックのグループ化

diff-so-fancy のインストール方法

一般的なパッケージマネージャーを使用して簡単に diff-so-fancy をインストールできます。

Homebrew を使用した macOS の場合:

brew install diff-so-fancy

Ubuntu または Debian ベースの Linux の場合:

sudo apt install diff-so-fancy

または GitHub から直接クローンする:

git clone https://github.com/so-fancy/diff-so-fancy.git

インストール後、diff-so-fancy がシステムパスに含まれていることを確認してください。

diff-so-fancy を使用するように Git を設定する方法

インストールが完了したら、Git に diff を diff-so-fancy にパイプするよう指示する必要があります。

次の Git 設定コマンドでセットアップします:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"

この設定により:

  • すべての diff が diff-so-fancy を通過します
  • カラー出力が維持されます
  • less でのスクロール動作がクリーンで反応性が高くなります

手動で呼び出すことを好む場合は、Git エイリアスを作成することもできます。例:

git config --global alias.dsf "!git diff --color | diff-so-fancy"

これで、いつでも git dsf を実行して、より見やすい diff を表示できます。

ビフォー・アフター: 違いを確認する

標準的な git diff 出力:

- old line of code
+ new line of code

diff-so-fancy を使用した場合:

  • 行の変更された部分のみがハイライトされます
  • ファイル名とハンクヘッダーがスキャンしやすくなります
  • 変更が自然に目に追える方法で構造化されています

これにより、余分なノイズなしに何が変更されたかを素早く理解できます。

結論

日々の Git ワークフローに小さな改善を加えることは、時間とともに積み重なります。diff-so-fancy で Git を設定すると、diff が読みやすくなり、レビューが速くなり、ミスが起こりにくくなります。この改善が気に入った場合は、リポジトリのクローンを高速化する Git URL ショートカットの使用 も役立つかもしれません。

よくある質問

いいえ。表示方法のみを変更します。Git の履歴とデータは同じままです。

はい。Git の設定を解除するか、一時的にバイパスするために `git --no-pager diff` を呼び出すことができます。

主に `git diff` と `git log -p` の出力を改善します。他のコマンドは影響を受けません。

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers