12k
All articles

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

diff-so-fancy を設定して単語レベルの差分ハイライトやハンクヘッダーの整形を行い、Git diff の読みやすさを高めてコードレビューを効率化する方法を解説する。

OpenReplay Team
OpenReplay Team
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 ショートカットの使用 も役立つかもしれません。

よくある質問

diff-so-fancy は実際の Git diff データを変更しますか?

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

必要に応じて diff-so-fancy を簡単に無効にできますか?

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

diff-so-fancy はすべての Git コマンドで機能しますか?

主に `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

We use cookies to improve your experience. By using our site, you accept cookies.