Git

The `git diff` command in Git is a tool for comparing changes in files within the repository and visually displaying those differences.

git diff

 Gitの git diffコマンドは、リポジトリ内のファイルの変更点を比較し、その違いを表示するためのコマンドです。このコマンドを使用することで、どのファイルがどのように変更されたかを確認することができます。

基本的な使い方

作業ディレクトリの変更を確認

Git Bash

git diff
現在の作業ディレクトリの変更点を表示します。まだステージされていない変更が対象です。
ステージされた変更を確認

Git Bash

git diff --cached
ステージされた(インデックスに追加された)変更点を表示します。--stagedオプションも同じ意味です。
特定のファイルの変更を確認

Git Bash

git diff <ファイル名>
指定したファイルの変更点を表示します。

特定の範囲を比較する

特定のコミット間の差分を確認

Git Bash

git diff <コミットID1> <コミットID2>
二つの特定のコミット間の差分を表示します。
ブランチ間の差分を確認

Git Bash

git diff <ブランチ名1> <ブランチ名2>
二つのブランチ間の差分を表示します。

よく使われるオプション

短いサマリーを表示

Git Bash

git diff --stat
各ファイルの変更行数の概要を表示します。
言語に応じたデフォルトの差分を使用

Git Bash

git diff --word-diff
単語単位で差分を表示します。プログラミング言語の構文に基づいた差分を表示するのに便利です。
カラー出力

Git Bash

git diff --color
カラー付きで差分を表示します。視覚的に見やすくなります。

応用的な使い方

特定のディレクトリの変更を確認

Git Bash

git diff <ディレクトリ名>
指定したディレクトリ内のファイルの変更点を表示します。
特定のファイルタイプの変更を確認

Git Bash

git diff -- '*.js'
特定のファイル拡張子を持つファイルの変更点を表示します。例えば、.jsファイルのみの変更を表示します。
無視された変更を含める

Git Bash

git diff -U0
コンテキスト行を0行に設定し、変更された行のみを表示します。

使用例

Git Bash

git diff HEAD~1 HEAD

 直前のコミットと現在の HEADの間の差分を表示します。

Git Bash

git diff main feature-branch

 mainブランチと feature-branchブランチの差分を表示します。

 git diffコマンドは、コードレビューや変更の追跡に非常に役立ちます。これにより、開発者はどの部分が変更されたかを簡単に把握し、必要に応じて修正や追加のコメントを行うことができます。