2021/12/11
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 log --oneline --graph --decorate
オプション | 意味 |
---|---|
--graph | git log の出力に commit の軌跡を見せてくれるオプション |
--decorate | git log の結果に「今存在する branch と HEAD の位置」を表示してくれるようになる |
実践編(特定のコミットまで戻したい)
個人的には特定のコミットまで戻したいときにこのコマンドをよく使います。
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
以上です。
Udemyを使ったLaravel学習方法
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。