公式:
https://git-scm.com/docs/git-log
git logすると、ずらーーーーとlogが羅列される。
その画面における、操作を習得したい。
git log
コミット間をつないで表示
git log --graph
1行で表示
git log --oneline
1行で日付も表示
git log --pretty=reference
1ファイルに関して追跡
git log --follow hoge.txt
1ファイルのみ有効
名称変更も超える(たぶんgit mvコマンド使用していないファイルは追えないのでは。)
差分も表示
git log -p
git log -u
git log -patch
マージコミットのみ/マージコミット以外表示
git log --merges
git log --no-0merges
ログ表示数の指定
git -表示数
git -n 数字
git --max-count=数字
3つとも同じ
ブランチ名の出力設定
git log --decorate=short
git log --decorate=full
git log --decorate=auto
git log --decorate=no
下の(HEAD, ..... )の部分の表示方法の設定。
C:/hoge>git log
commit f5434123123132123 (HEAD, main, origin/HEAD, origin/main)
Autor: aa
Date: bb
hoge commit
short, autoは上の例のような感じ。
fullはrefs/heads/main, refs/remotes/origin/mainのようになる。
noneは表示されなくなる。
コミットIDの表示
git log --no-abbrev-commit
git log --onelneは省略されたものが書かれるが、このオプションを入れると全長が見れる。
defaultの設定はlog.decorate
にて可能。
カスタマイズ
表示方法をカスタマイズできる。
1行
git log --pretty="%C(auto)%cs %h %s %d"
コミットメッセージの原文も表示
git log --graph --all --pretty="%Cgreen%cs %C(auto)%H%d%n Author: %cn Date: %aD%n%n%w(200,2,2)%B
メモ:aliasの設定
git config --global alias.lga "log --graph --all --pretty=\"%Cgreen%cs %C(auto)%H%d%n Author: %cn Date: %aD%n%n%w(200,2,2)%B\""
文字色
自動:%C(auto)
緑:%Cgreen
リセット:%Creset
コミット日:%cs
コミッター日、UNIXタイムスタンプ:%ct
コミッター日、ISO 8601のようなフォーマット:%ci (例:2025-02-27 17:28:32 +0900)
コミッター日、厳密なISO 8601フォーマット:%cI
コミットハッシュ (短縮):%h
コミットハッシュ (log
で出てくるやつ):%H
コミット者:%cn、%cN(← 二つの違い不明)
コミット者メール:%ce、%cE(← 二つの違い不明)
件名 (コミットメッセージの1行目):%s
本文(コミットメッセージ3行目以降):%b
原文(コミットメッセージ全文):%B
改行させるときにインデントさせる:%w(800,2,2)
第1引数は1行の文字数、超えると改行させる
第2引数は最初の行のインデント
第3引数はそれ以降の行のインデント
参照名、オプションのデコレート:%d (; (HEAD -> hoge-branch)
とかのこと)
作成者:%an、%aN(← 二つの違い不明)
作成者メール:%ae、%aE(← 二つの違い不明)
改行:%n
git-log – Git コマンドリファレンス(日本語版)
コマンド操作
画面操作を習得したい。ほんとに。
終了する
q, Q, ZZ
動かす
1行↓:j, e
1行↑:k, y
1win↓・N行↓(一度のみ):f
1win↑・N行↑(一度のみ):b
1win↓・N行↓(以降Nまま):z
1win↑・N行↑(以降Nまま):w
半win↑:u(Nで行数指定)
半win↓:d(Nで行数指定)
Nについては、数字を入力してz, fあるいはw, bを押せばよい。
Nを入力後z, wを実行すると、以降Nが記憶される。
z, wを実行した後のf, bも記憶されている。
f, bは、一度N行のスクロールがされるが、2回目以降は1winに戻る。
探す
検索
?を入力した後に、文字列を入力し、Enter
/でもよい。
?と/は、上向きで探すか下向きで探すのいずれか(違い分からなかった)
検索して合致箇所のみ表示
&hoge
検索結果を追う
1つ上のヒット箇所に移動:n
1つ下のヒット箇所に移動:shft n
ハイライト表示/非表示
esc u
ジャンプする
一番上:<
一番下:>