🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

履歴を見よう!git logでコミット履歴を確認する基本操作

これまでの記事で、Gitを使った変更の記録や取り消し方法を学んできました。作業を進めていくと、次に知りたくなるのは「これまでにどんな変更を記録してきたんだっけ?」ということではないでしょうか。過去の作業内容を正確に把握することは、バグの原因を探ったり、特定の機能がいつ実装されたかを確認したりする上で非常に重要です。

この記事では、そんな時に役立つ`git log`コマンドに焦点を当てます。このコマンドは、あなたのプロジェクトの「航海日誌」であるコミット履歴を、見やすく分かりやすく表示するためのものです。様々なオプションを駆使して、必要な情報をスマートに引き出す方法をマスターしていきましょう!


`git log`の基本的な使い方

まずは、最も基本的な`git log`コマンドを実行してみましょう。ターミナル(またはGit Bash)で、履歴を見たいリポジトリのフォルダに移動し、以下のコマンドを入力してください。

git log

実行すると、これまでのコミット履歴が新しいものから順にずらっと表示されます。一つのコミットにつき、以下の情報が含まれています。

履歴が長い場合は、`q`キーを押すとログ表示を終了できます。


もっと見やすく!便利な`git log`オプションたち

デフォルトの`git log`は情報量が多すぎて、少し見づらいかもしれません。幸い、`git log`には表示形式をカスタマイズするための便利なオプションがたくさん用意されています。

1. 履歴を1行でシンプルに表示する (`--oneline`)

各コミットを1行にまとめて、シンプルに表示したい場合に最適です。コミットIDの先頭7文字とコミットメッセージの1行目だけが表示され、全体の流れを素早く把握できます。

git log --oneline

2. 変更されたファイルの一覧も表示する (`--stat`)

各コミットで、どのファイルが変更され、何行追加・削除されたのかという統計情報を一緒に表示したい場合に使います。

git log --stat

3. コードの具体的な変更内容も表示する (`-p` または `--patch`)

各コミットでの、コードレベルの具体的な変更内容(差分)まで詳しく見たい場合に使います。どの行が追加され(`+`で表示)、どの行が削除されたか(`-`で表示)が一目瞭然です。

git log -p

4. 表示するコミット数を制限する (`-n`)

最新の履歴だけを少し見たい、という場合に便利です。例えば、最新の3件だけを表示するには以下のようにします。

git log -n 3

5. ブランチの派生をグラフィカルに表示する (`--graph`)

複数のブランチが合流(マージ)しているような複雑な履歴を、線でつないで視覚的に分かりやすく表示します。`--oneline`と組み合わせると非常に見やすくなります。

git log --graph --oneline

特定の履歴を探すためのオプション

プロジェクトが大きくなると、特定の変更履歴を探すのが大変になります。そんな時は、条件を指定して履歴を絞り込むオプションが役立ちます。

特定のファイルやディレクトリの履歴だけを見る

特定のファイル(例: `index.html`)が、いつ、どのように変更されてきたかの履歴だけを抽出して表示します。

git log -- [ファイル名]

特定の作者のコミットだけを見る (`--author`)

チーム開発で、特定のメンバーがどのような作業をしてきたかを確認したい場合に便利です。

git log --author="ユーザー名"

コミットメッセージの内容で検索する (`--grep`)

コミットメッセージに特定のキーワード(例: "バグ修正")が含まれるコミットだけを検索します。

git log --grep="検索したいキーワード"

まとめ:`git log`を制する者は、プロジェクトの歴史を制す

今回は、`git log`コマンドを使ってコミット履歴を確認するための様々な方法をご紹介しました。最初は基本的な`git log`や`git log --oneline`だけでも十分ですが、プロジェクトが複雑になるにつれて、今回紹介したオプションが強力な武器になります。

過去の変更を自由に閲覧できる能力は、問題解決のスピードを上げ、コードの品質を保つ上で不可欠です。ぜひ色々なオプションを試してみて、自分にとって一番見やすい表示方法を見つけてみてください。