環境構築

git log について

2019/02/20

git log コマンドは今までのコミット履歴を確認することができるコマンドです。

「誰が」「いつ」「どのように」変更したか確認できるコマンドです。

git log コマンドは今までのコミットをコミットメッセージの一覧という形で表示します。

そのため、一目で何をしたのかわかるようなコミットメッセージを書く必要があります。

今回はこの git log コマンドでファイルの変更履歴を確認してみます。

 
INDEX

 

使用してみる

とりあえず、何かファイルを作成してコミットしてログを見てみます。


# 開発用ブランチにチェックアウト
$ git checkout develop

# ファイルを作成
$ touch sample2.html

# ステージングエリアに移動
$ git add sample2.html

# コミット
$ git commit -m "create sample2.html"

# コミット履歴を確認
$ git log

 

ログを確認する

ログの構成は以下のようになっています。

ポイント

エンターを押すと、1行ずつ見えます。「q」を押すとログ表示が終わります。

 

ログを見やすくしたい

デフォルトだと少し見にくかったりします。

その場合はオプションをつけて整形することができます。

最近のログを1件だけ出力する

$ git log -1 

 

ログを1行で出力する

$ git log --oneline

 

組み合わせる

「ログを1行で出力」+「ログを3行で出力」


$ git log --oneline -3

 

実践編(特定のコミットまで戻したい)

個人的には特定のコミットまで戻したいときにこのコマンドをよく使います。

git reset コマンドで戻すときに、コミット番号(ハッシュ値)を指定しないといけないのですが、そのときに git log コマンドを使います。


# 戻す対象のハッシュ値を調べる
$ git log --oneline -3

# 指定したハッシュ値のコミットまで戻す
$ git reset --hard {ハッシュ値}

# ちゃんと消えたか確認
$ git log --oneline -3

ポイント
resetコマンドのオプション

--hard コミット、インデックス、ファイルの変更をすべて削除する。
--mixed コミット、インデックスを削除。ファイルの変更だけは残す。
--soft コミットだけを削除する。インデックス、ファイルの変更は残す。
 

間違えて git reset した場合

先ほどの例でgit resetコマンドを使って前のコミットに戻しました。
しかし、「実はそのgit resetは間違いだった」というときのコマンドも用意されています。


# 直前のリセットを取り消す
$ git reset --hard ORIG_HEAD

 
以上です。

本庄マサノリ

仕事でLaravelを使っています。気づいたことや新しい発見など情報を発信していきます。メールはこちら

 

-環境構築