Webtech Walker

git log

についてのメモ。

出力件数を指定する

出力件数を表示する。どちらもいっしょ。

$ git log -n 10 # 最新10件のログ
$ git log -10   # 最新10件のログ

範囲指定

コミットの範囲を指定する

$ git log HEAD~10..HEAD~5        # 10個前か5個前までのログ
$ git log HEAD~10..              # 10個前から最新までのログ
$ git log 3hg4390fj3..93jj23rn20 # ハッシュ値で範囲指定

パッチ形式で出力する

-pでパッチ形式で出力する。

$ git log -p

Authorから探す

コミットした人を指定する。部分一致っぽい。

$ git log --author=hokamura # hokamuraを含むAuthorのログ

コミット日時から探す

指定した時間以降のコミットを表示する。どちらもいっしょ。

$ git log --after=2010-01-01 # 2010年1月1日以降のログ
$ git log --since=2010-01-01 # 2010年1月1日以降のログ

指定した時間以前のコミットを表示する。どちらもいっしょ。

$ git log --until=2010-01-01   # 2010年1月1日以前のログ
$ git log --before=2010-01-01  # 2010年1月1日以前のログ

相対的にも書ける。

$ git log --since="2 week ago" # 2週間前までのログ

コミットログから探す

--grepでコミットログのテキストから検索する。

$ git log --grep=added # コミットログにaddedを含むログ

変更した文字列から探す

変更下箇所にfoo()を含むコミットだけを検索する

$ git log -S'foo()'

簡略形で出力する

--prettyでコミットログの形式を指定できる。

shortでコミットログを一行目だけ表示にする。

$ git log --pretty=short

onelineだとハッシュ値とコミットログの一行目を合わせて一行で表示する。

$ git log --pretty=oneline

formatで自由にフォーマットを決められる。

$ git log --pretty=format:'%h %s'

formatに指定できるものはhelpなどご参照あれ。

日付のフォーマットを指定する

$ git log --date=short
$ git log --date=iso

グラフを表示する

コミットのグラフを出力する。

$ git log --graph

これだと一個のコミットの表示が長くてよくわからいので

$ git log --graph --pretty=oneline

とか

$ git log --graph --pretty=format:%s

とかがよさげ。これはちょっと感動した。

このエントリーをはてなブックマークに追加