gitコマンド プログラミング系 GitHub 非エンジニア向け

【GitHub】コミットの履歴を確認する「log」コマンドの紹介

こんにちは、TAKです。
今回は、Gitコマンドの一つ「log」について紹介していきたいと思います。

「log(ログ)」という言葉から想像出来るかもしれませんが、「git log」コマンドは過去に操作した内容の履歴を確認したい時に使える方法となります。どのような操作の履歴を確認出来るかというと「コミット」した内容が対象となります。

【こんな人に読んで欲しい記事です】

● Gitの「logコマンド」で自分のコミット履歴やメッセージを確認出来るようになりたい方

● GitHubで使われている基本的なコマンドを学んでいきたい方

今回は、新規ファイルを作成してコミットした後に「git log」コマンドを使用し、挙動を確認していきます。
「git log」コマンドで使えるオプション付きのコマンドも紹介しているので参考にしてみてください。

【GitHub】コミット履歴を確認出来る「log」コマンド

【事前準備】新規ファイルの作成→git add→git commit

まず最初に、事前準備として空のHTMLファイルを3つ作成しておきます。

HTMLファイルを3つ新規作成

「git status」コマンドを使ってコメントを確認しておきます。
この時点では(当然ですが)ステージに追加していない状態ということがわかりますね。

「git status」コマンドで現状を確認

続いて、「git add」「git commit」コマンドを用いてローカルリポジトリに追加します。
コミットメッセージは「Add index.html(001-003)」としています。

「git add」「git commit」コマンドを使ってローカルリポジトリに追加

コミットが完了したので、この後「log」コマンドを使って履歴として表示されるかを見ていきます。

【git logコマンド①】デフォルト(オプション指定なし)

早速、「git log」コマンドを使ってログ(履歴)が表示されるか確認してみましょう。
コマンドはそのまま「git log」で使うことが出来ます。

オプションを指定せずそのまま使った結果が以下となります。

「git log」コマンド|オプション指定なし

すると、(僕の環境で)過去にコミットしたメッセージが赤枠部分で表示されているのがわかります。
ポイントは、「最新のコミット」から表示されるという点です。

その証拠に、先ほどコミットしたhtmlファイルのコメントが一番上に表示されていますね。

【git logコマンド②】「– oneline」オプション

ここからは、「オプション付き」のコマンドを3つ紹介していきます。

まずは、ログを1行で表示してくれる「– oneline」オプションです。
先ほどは、色々な情報が表示されて若干わかりにくかったですが、「git log」コマンドの後ろにこのオプションを指定することで、シンプルにコミット履歴を確認することが出来ます。

「git log — oneline」コマンド

結果を見てみると、コミット履歴が1行でコミットメッセージとともに表示されていることがわかります。

日時まで確認したい時はオプションを指定せず、コミットメッセージだけ確認したい時は「oneline」を指定するなど、状況に応じて使い分けてみてください。

【git logコマンド③】「-n」オプション

続いては、コミットの履歴数を指定する「-n」オプションを利用する方法です。
「n」部分に表示させたい数を指定することで、最新コミットからn個表示させることが出来ます。

試しに、「n=2」としてコミット履歴を確認してみます。

「git log -n」コマンド

すると、「2件」分のコミット履歴が確認出来たのがわかるかと思います。
先ほど紹介した「oneline」と組み合わせて使うことも出来るので、あわせて知っておくと便利です。

【git logコマンド④】「-p」オプション

続いては、特定ファイルの変更差分を確認する「-p」コマンドです。
以下では、新規作成した「index002.html」ファイルを指定しています。

「git log -p」コマンド

特定ファイルのコミット履歴を確認したい時には使えるので、扱うファイル数が多いような場合には使ってみてください。

まとめ

いかがだったでしょうか?

今回は、コミットした内容やメッセージの履歴を確認出来る「git log」コマンドについて紹介してきました。
ここで紹介したオプションコマンド以外にも、色々と指定出来るオプションが存在するので、気になる方は今回の内容をベースとしつつアップデートしてみてください。

では今回はこのへんで。