
Gitを使う大きなメリットのひとつが、変更の履歴をいつでも見返せること、そして間違った変更を取り消せることです。 この章では 「git log」、「git diff」、「
git restore」
の基本操作を紹介します。
git log
:履歴を時系列で確認する
git log
git log
は、過去に行ったコミット(変更の記録)を時系列で確認するコマンドです。 変更の履歴をたどることで、プロジェクトの流れや変更の意図を把握できます。
- 各コミットには、コミットID、作成者、日時、メッセージが表示されます。
- 過去の状態に戻りたいときや、変更履歴をレビューしたいときに非常に便利です。
- チーム開発では「誰が・いつ・なぜ」その変更を加えたのかを理解するのに役立ちます。
よく使うオプション:
git log --oneline
- 各履歴を1行で簡潔に表示できるため、履歴の流れをざっと確認したいときに便利です。
実際にlogで変更履歴を確認してみます。gitのプロジェクトフォルダで管理しているファイルを、何度か変更して「git add」して「git commit」で変更履歴を保存してみましょう。この例では「git-sample」フォルダに「memo.txt」を追加して、そのファイルの中身を何度か変更してみます。

「git log」で履歴を閲覧すると上記のように表示されます。黄色の文字列はコミットIDと言い、すべてのコミットで一意になる文字列です。「–online」オプションをつけたときにも黄色の文字のコミットIDが付いていますが、これは本来のフルコミットIDの先頭7桁が表示されます。先頭7桁だけでも十分に一意になる値です。同じような修正でもこのコミットIDが違えば、全く別のコミットとして認識されます。
💡コミットIDは正式には「コミットハッシュ」または「SHA-1ハッシュ」と言う。このコミットIDを利用して差分や履歴を管理する。
(HEAD -> master)は現在のブランチが master
で、HEAD(作業中の位置)もそこを指しているという意味です。
git diff
:変更内容を比較する
git diff
は、ファイルに加えた変更の「差分(違い)」を確認するためのコマンドです。
Gitはファイルの変更前と変更後を記録していますが、git diff
を使うことで、どの行が追加され、どの行が削除されたかを明確に見ることができます。
- 作業中の変更内容を確認する際に便利です(まだ
add
していない状態) - 他人の変更や過去の変更内容をレビューするときにも活躍します
- 「何を変えたか」が一目で分かるので、コミット前の確認にも最適です
よく使う使い方:
git diff memo.txt
- 特定のファイルだけの差分を確認したいとき
add
後の変更を確認したいときは?
git diff --staged
- ステージに追加された内容(
git add
済み)と前回のコミットとの差分を表示します
💡
diff
をこまめに使えば、意図しない変更をコミットするリスクを減らせます。コードの品質を保つためにも大切な確認ステップです。
実際に差分を確認してみます。先ほど「git log」の説明で利用したフォルダとファイルを利用します。「memo.txt」内の文字列を適当に変更してみます。変更後、addやcommitはせずに「git diff memo.txt」を実行します。
おはようございます
このブログはtamotech.blogです
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓更新する「ブログ」を「サイト」に更新する
おはようございます
このサイトはtamotech.blogです

「git diff momo.txt」でdiffを確認することができました。「— a/memo.txt」は更新前のファイルで「
+++ b/memo.txt」は更新後のファイルを意味しています。
git restore
:変更を取り消す
git restore ファイル名
git restore
は、作業中のファイルの変更を「最後に保存された状態」に戻すためのコマンドです。たとえば、ファイルをうっかり編集してしまったとき、「やっぱり元に戻したい」と思ったらこのコマンドで取り消すことができます。
git add
をする前の変更を元に戻せます(ステージ前の状態)- 誤って編集してしまったときや、作業をやり直したいときに便利です
.
を指定すれば、すべてのファイルの変更をまとめて取り消すこともできます
よく使う例:
git restore main.js
指定したファイルの編集内容だけを取り消します。
git restore .
カレントディレクトリ以下のすべての変更を取り消します。
⚠️ 注意:
restore
は元に戻せません。実行前にgit diff
でどのような変更があったか確認してから使うようにしましょう。
💡 「まだコミットしていない変更」にしか使えません。すでにコミットした内容を取り消したい場合は、別のコマンド(
reset
やrevert
)が必要です。
実際にrestoreを使ってadd前の変更を取り消してみます。先ほどのmemo.txtを修正しようとしたら間違えて消してしまい、消える前のファイルの状態を忘れてしまったとしましょう。
おはようございます
このブログはtamotech.blogです
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓間違えて消してしまった!!
おはようございます
この
addする前に「git restore」を実行すると元のファイルの状態まで戻すことができます。↓
おはようございます
このブログはtamotech.blogです
まとめ
git log
:変更履歴を一覧で確認できるgit diff
:変更内容を比較して確認できるgit restore
:変更を元の状態に戻せる(未コミットに限る)