未来エンジニア養成所Blog

プログラミングを皆に楽しんでもらうための情報をお届けします。

【Git&GitHub】変更履歴を確認(git logコマンド)

title


変更履歴を確認しよう

今回は、変更履歴を確認するやり方について見ていきます。

「以前どのような変更があったのか?」と、昔のことを調べたい時のやり方についてです。


では変更履歴を確認するコマンドについて見ていきましょう。


コマンドは「git log」コマンドを使います。

$ git log


「git log」と打つだけで今までの変更履歴を確認する事ができます。


基本的には「git log」で十分なのですが、表示を便利にするオプションがいくつかあるので3つほど紹介します。

1つめが「git log --oneline」です。

$ git log --oneline


「git log」と普通に入力するとかなり多くの情報が表示されてしまうので、それを要点だけ1行で表示するためのオプションが「--oneline」です。


2つめのオプションは「git log -p index.html」です。

$ git log -p index.html


特定ファイルの変更差分だけ表示したい時は「-p」の後にファイル名を指定することで、そのファイルだけの変更差分を表示することができます。


3つめのオプションは「git log -n <コミット数>」です。

$ git log -n <コミット数>


「git log」と入力すると今まで全ての変更履歴が表示されてしまいます。

ただ実際は最近の変更履歴だけ確認したいというケースが多いので、そういう時は「-n」の後にコミット数を数値で入力することで最近の変更履歴だけに絞って表示することができます。


ではイメージで確認しておきましょう。

今回コミットを3つしてそのコミットを時系列順に並べています。


変更履歴を確認する


「コミット1」が一番古いコミットで、「コミット3」が一番最近のコミットです。


「git log」と打つと、最近のコミットから変更履歴を順にたどっていきます。

「コミット3」と「コミット2」の変更履歴がまず始めに表示されて、次に「コミット2」と「コミット1」の変更履歴が表示されます。


この図を頭の中に入れておいて頂ければ、「git log」に関しては十分です。


補足として、「git log」コマンドの裏側で起こっていることを確認しておきましょう。


今回は「index.html」を新規作成した後、一度コミットしてその後「index.html」を2回変更して、それぞれコミットして、合計でコミットを3回した状況だと想定します。


git logコマンドの裏側で起こっていること


1回目のコミットは「コミット1」、2回目のコミットは「コミット2」、3回目のコミットは「コミット3」です。


「コミット3」は「コミット2」を親コミットとして、「コミット2」は「コミット1」を親コミットとして保存しています。


この状態で「git log」コマンドを入力してみます。

すると、まず「コミット3」と「コミット2」との変更履歴、そして次に「コミット2」と「コミット1」の変更履歴を「git log」では表示します。


実際にやってみよう

ではターミナルで確認しておきましょう。


「git log」と入力します。すると3つのコミットが表示されています。

$ git log
commit b8cf2f8395ab7d63d7aef49c989e962fbe27aee4 (HEAD -> master)
Author: Norris Matsui <XXXXXX@XXXXX.com>
Date:   Fri Sep 18 15:34:39 2020 +0900

    git diffを追記

commit ea3938108eb712696d2504125a6e8458b793faf2
Author: Norris Matsui <XXXXXX@XXXXX.com>
Date:   Fri Sep 18 12:45:55 2020 +0900

    git statusコマンドを追記

commit 0f22cd3fe087fb052c2edfc2c41b6cb1a813f7e6
Author: Norris Matsui <XXXXXX@XXXXX.com>
Date:   Wed Sep 16 19:59:27 2020 +0900

    Initial commit


1つ1つ紹介します。


まず、コミットの後に長い英数字が書かれています。

これはコミットのハッシュ値でコミットのIDのようなものです。


その次に「Author」として作成者とメールアドレス、その次に「Date」としてコミットした日付、最後に「git diffを追記」というコミットメッセージが表示されています。


これが最新のコミットです。


その次に1個前のコミットです。


その次に1番古い「Initial commit」という一番始めのコミットが表示されています。


このように「git log」ではコミットの履歴を一番最新の物から順に追って表示してくれます。

このようにしていつ何のために変更したのかというのを確認する事ができます。


参考図書



独学で挫折しそうになったら、オンラインプログラミングスクール
未来エンジニア養成所Logo



あわせて学習したい

phoeducation.work