この記事では、Ubuntu18.04LTSにインストールしたGit(version 2.17.1)を使用しています。
Gitには以下の3つの階層があります。ファイルにこれらの階層を行き来させながら、作業を進めていくことになります。
くわしくはこちらをご覧ください。
- 作業ディレクトリ(ワークツーリー)
- ステージングエリア(インデックス)
- リポジトリ(ローカルリポジトリ)
いま作業した状態が、「どの階層とどのような違いがあるのか」を確認したい時にgit diffを使います。
作業ディレクトリとステージングエリアとの差分
作業をしていてステージング(git add)する前に変更箇所を確認する場合は、以下のコマンドを使います。
git diff
ステージングエリアと最新のコミットとの差分
ステージング(git add)した後でステージングエリアと最新のコミットとの変更箇所を確認する場合は、以下のコマンドを使います。
git diff --cached
「最新のコミット」と「最新のコミットのひとつ前」との差分
コミット(git commit)したあとで、コミットした変更箇所を表示したい場合は以下のコマンドを使います。
git diff HEAD^