テキスト差分比較(diff)の使い方とGitコマンドでの比較手法
開発 Git
結論:30秒で差分を確認する
- ブラウザで確認: 下のオンラインツールに 2 つのテキストを貼り付けて差分ハイライト
- ファイル間コマンド:
diff -u file1.txt file2.txt - Git 変更確認:
git diff(未ステージ) /git diff --staged(ステージ済み)
1. オンラインテキスト差分比較ツール
「比較元(Old)」と「比較対象(New)」のテキストを貼り付けることで、追加(緑)・削除(赤)された行がリアルタイムで色分けハイライト表示されます。
🔍 この場でテキストの差分を確認する
※ 入力時に自動で差分を表示します(1行=文字単位、複数行=行単位)
削除 追加
2. CLI(ターミナル)での差分比較手順
① 2つのローカルファイルを比較する (diff)
Unified format (-u) オプションを使用すると、Git のコミット差分のような読みやすい形式で出力されます。
# 2つの設定ファイルの差分を Unified 形式で表示
diff -u config.old.json config.new.json
# 空白文字の差異を無視して比較 (-w)
diff -uw config.old.json config.new.json
② Git で作業ツリーとコミットの差分を比較する (git diff)
# 未ステージの変更を確認
git diff
# ステージ済み (git add 後) の変更を確認
git diff --staged
# 2つのブランチ間の差分を確認
git diff main feature-branch
3. 注意点(ハマりどころ)
- 改行コードの混在(CRLF vs LF)
- Windows 環境と Linux/Mac 環境で作成されたファイルを比較すると、見た目は同じでも全行が「変更済み」と判定される場合があります。
diff --strip-trailing-crオプションを使うか、エディタで改行コードを統一してください。
- Windows 環境と Linux/Mac 環境で作成されたファイルを比較すると、見た目は同じでも全行が「変更済み」と判定される場合があります。
- タブとスペースの差異
- インデント文字(Tab vs Space 4個)の違いで差分が大量に出る場合は、
diff -wまたはgit diff -wで空白無視オプションを指定します。
- インデント文字(Tab vs Space 4個)の違いで差分が大量に出る場合は、