$ gitk # 履歴を視覚的にブラウズする
$ git log # すべてのコミットを一覧表示する
$ git log src/ # src/ 配下のファイルを変更している・・・
$ git log v2.6.15..v2.6.16 # v2.6.16 には含まれているが、v2.6.15 には含まれていない・・・
$ git log master..test # test ブランチに含まれているが、master ブランチには含まれていない・・・
$ git log test..master # master ブランチに含まれているが、test ブランチには含まれていない・・・
$ git log test...master # 片方のブランチには含まれているが、両方のブランチには含まれていない・・・
$ git log -S'foo()' # 差分に "foo()" を含んでいる・・・
$ git log --since="2 weeks ago"
$ git log -p # パッチも表示する
$ git show # 最新のコミットを表示
$ git diff v2.6.15..v2.6.16 # 2つのタグ付されたバージョン間の差分
$ git diff v2.6.15..HEAD # 現在の head との差分
$ git grep "foo()" # 作業ディレクトリ内で "foo()" を検索する
$ git grep v2.6.15 "foo()" # 過去のツリー内で "foo()" を検索する
$ git show v2.6.15:a.txt # a.txt の過去のバージョンを表示する
回帰点を探す:
$ git bisect start
$ git bisect bad # 現在のバージョンは bad
$ git bisect good v2.6.13-rc2 # 最新の good なリビジョンを知らせる
Bisecting: 675 revisions left to test after this
# ここからテストを行う
$ git bisect good # このリビジョンが good の場合
$ git bisect bad # このリビジョンが bad の場合
# 回帰点を見つけるまで続ける